
/* 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 define_section_symbols(Layout * this, Symbol_table * symtab) */

void __thiscall gold::Layout::define_section_symbols(Layout *this,Symbol_table *symtab)

{
  undefined *puVar1;
  int iVar2;
  pointer ppOVar3;
  pointer ppOVar4;
  int iVar5;
  char *__lhs;
  char *__lhs_00;
  string stop_name;
  string start_name;
  string name_string;
  
  puVar1 = PTR_s__s_004c1a50;
  ppOVar3 = (this->section_list_).
            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
            _M_impl._M_start;
  ppOVar4 = (this->section_list_).
            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
            _M_impl._M_finish;
  if (ppOVar3 != ppOVar4) {
    __lhs = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4;
    __lhs_00 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0;
    do {
      while( true ) {
        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;
        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);
        if (*(char *)(iVar5 + iVar2) != '\0') break;
        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;
        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);
        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);
                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */
        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>
                  (&start_name,__lhs,&name_string);
                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */
        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>
                  (&stop_name,__lhs_00,&name_string);
                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */
        (*(code *)PTR_define_in_output_data_004c1b10)
                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);
        (*(code *)PTR_define_in_output_data_004c1b10)
                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)start_name._M_dataplus._M_p != &start_name.field_2) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)name_string._M_dataplus._M_p != &name_string.field_2) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        ppOVar3 = ppOVar3 + 1;
        ppOVar4 = (this->section_list_).
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                  _M_impl._M_finish;
        if (ppOVar4 == ppOVar3) {
          return;
        }
      }
      ppOVar3 = ppOVar3 + 1;
    } while (ppOVar4 != ppOVar3);
  }
  return;
}



/* gold::Layout::define_section_symbols(gold::Symbol_table*) */

void __thiscall gold::Layout::define_section_symbols(Layout *this,Symbol_table *param_1)

{
  undefined *puVar1;
  int iVar2;
  int *piVar3;
  int *piVar4;
  int iVar5;
  string *psVar6;
  string *psVar7;
  undefined1 *local_78 [2];
  undefined1 auStack_70 [16];
  undefined1 *local_60 [2];
  undefined1 auStack_58 [16];
  undefined1 *local_48 [2];
  undefined1 auStack_40 [16];
  Layout *local_30;
  
  puVar1 = PTR_s__s_004c1a50;
  piVar3 = *(int **)(this + 0x13c);
  piVar4 = *(int **)(this + 0x140);
  if (piVar3 != piVar4) {
    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);
    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);
    local_30 = this;
    do {
      while( true ) {
        iVar5 = *(int *)(*piVar3 + 0x24);
        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);
        if (*(char *)(iVar5 + iVar2) != '\0') break;
        local_48[0] = auStack_40;
        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);
        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);
                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */
        std::operator+((char *)local_60,psVar6);
                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */
        std::operator+((char *)local_78,psVar7);
                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */
        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);
        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);
        if (local_78[0] != auStack_70) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        if (local_60[0] != auStack_58) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        if (local_48[0] != auStack_40) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        piVar3 = piVar3 + 1;
        piVar4 = *(int **)(local_30 + 0x140);
        if (piVar4 == piVar3) {
          return;
        }
      }
      piVar3 = piVar3 + 1;
    } while (piVar4 != piVar3);
  }
  return;
}


lui gp,0x31
addiu gp,gp,0x890
addu gp,gp,t9
addiu sp,sp,-0xc0
sw s4,0xa8(sp)
sw s0,0x98(sp)
sw gp,0x40(sp)
sw ra,0xbc(sp)
sw s8,0xb8(sp)
sw s7,0xb4(sp)
sw s6,0xb0(sp)
sw s5,0xac(sp)
sw s3,0xa4(sp)
sw s2,0xa0(sp)
sw s1,0x9c(sp)
lw s0,0x13c(a0)
lw s4,0x140(a0)
beq s0,s4,0x001b8bd0
_lw s7,-0x7fc4(gp)
or s3,a1,zero
lw s8,-0x7fc4(gp)
addiu s2,sp,0x78
lw s1,-0x77f0(gp)
sw a0,0x90(sp)
addiu s7,s7,0x3fc4
b 0x001b8a28
_addiu s8,s8,0x3fd0
addiu s0,s0,0x4
beq s4,s0,0x001b8bd4
_lw ra,0xbc(sp)
lw v0,0x0(s0)
addiu a1,s1,0x38a8
lw t9,-0x376c(gp)
lw s6,0x24(v0)
jalr t9
_or a0,s6,zero
addu v0,s6,v0
lb v0,0x0(v0)
bne v0,zero,0x001b8a1c
_lw gp,0x40(sp)
lw t9,-0x36a4(gp)
addiu s4,sp,0x80
or a0,s6,zero
lw s5,-0x6fe0(gp)
jalr t9
_sw s4,0x78(sp)
or a3,zero,zero
lw gp,0x40(sp)
addu a2,s6,v0
sll a3,a3,0x18
or a1,s6,zero
lw t9,-0x76d8(gp)
jalr t9
_or a0,s2,zero
addiu a0,sp,0x60
or a2,s2,zero
or t9,s5,zero
bal 0x001c0990
_or a1,s7,zero
addiu a0,sp,0x48
or a2,s2,zero
or t9,s5,zero
bal 0x001c0990
_or a1,s8,zero
or v1,zero,zero
lw gp,0x40(sp)
or v0,zero,zero
lw a1,0x60(sp)
sw v1,0x24(sp)
li a3,0x5
sw v0,0x20(sp)
or a2,zero,zero
sw v1,0x1c(sp)
li v1,0x3
sw v0,0x18(sp)
li v0,0x1
sw zero,0x38(sp)
or a0,s3,zero
sw v0,0x3c(sp)
sw zero,0x34(sp)
sw v1,0x30(sp)
sw v0,0x2c(sp)
sw zero,0x28(sp)
lw v0,0x0(s0)
lw t9,-0x7730(gp)
jalr t9
_sw v0,0x10(sp)
or v1,zero,zero
lw gp,0x40(sp)
or v0,zero,zero
lw a1,0x48(sp)
sw v1,0x24(sp)
li a3,0x5
sw v0,0x20(sp)
or a2,zero,zero
sw v1,0x1c(sp)
li v1,0x3
sw v0,0x18(sp)
li v0,0x1
sw zero,0x34(sp)
or a0,s3,zero
sw v0,0x3c(sp)
sw v0,0x38(sp)
sw v1,0x30(sp)
sw v0,0x2c(sp)
sw zero,0x28(sp)
lw v0,0x0(s0)
lw t9,-0x7730(gp)
jalr t9
_sw v0,0x10(sp)
lw a0,0x48(sp)
addiu v0,sp,0x50
beq a0,v0,0x001b8b88
_lw gp,0x40(sp)
lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x40(sp)
lw a0,0x60(sp)
addiu v0,sp,0x68
beq a0,v0,0x001b8ba4
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x40(sp)
lw a0,0x78(sp)
beq a0,s4,0x001b8bbc
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x40(sp)
lw v0,0x90(sp)
addiu s0,s0,0x4
lw s4,0x140(v0)
bne s4,s0,0x001b8a28
_nop
lw ra,0xbc(sp)
lw s8,0xb8(sp)
lw s7,0xb4(sp)
lw s6,0xb0(sp)
lw s5,0xac(sp)
lw s4,0xa8(sp)
lw s3,0xa4(sp)
lw s2,0xa0(sp)
lw s1,0x9c(sp)
lw s0,0x98(sp)
jr ra
_addiu sp,sp,0xc0
(translation_unit "/* gold::Layout::define_section_symbols(gold::Symbol_table*) */\n\nvoid __thiscall gold::Layout::define_section_symbols(Layout *this,Symbol_table *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  int iVar5;\n  string *psVar6;\n  string *psVar7;\n  undefined1 *local_78 [2];\n  undefined1 auStack_70 [16];\n  undefined1 *local_60 [2];\n  undefined1 auStack_58 [16];\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  Layout *local_30;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  piVar3 = *(int **)(this + 0x13c);\n  piVar4 = *(int **)(this + 0x140);\n  if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+((char *)local_60,psVar6);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+((char *)local_78,psVar7);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }\n  return;\n}\n\n" comment (function_definition "void __thiscall gold::Layout::define_section_symbols(Layout *this,Symbol_table *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  int iVar5;\n  string *psVar6;\n  string *psVar7;\n  undefined1 *local_78 [2];\n  undefined1 auStack_70 [16];\n  undefined1 *local_60 [2];\n  undefined1 auStack_58 [16];\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  Layout *local_30;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  piVar3 = *(int **)(this + 0x13c);\n  piVar4 = *(int **)(this + 0x140);\n  if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+((char *)local_60,psVar6);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+((char *)local_78,psVar7);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "define_section_symbols(Layout *this,Symbol_table *param_1)" identifier (parameter_list "(Layout *this,Symbol_table *param_1)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  int iVar5;\n  string *psVar6;\n  string *psVar7;\n  undefined1 *local_78 [2];\n  undefined1 auStack_70 [16];\n  undefined1 *local_60 [2];\n  undefined1 auStack_58 [16];\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  Layout *local_30;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  piVar3 = *(int **)(this + 0x13c);\n  piVar4 = *(int **)(this + 0x140);\n  if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+((char *)local_60,psVar6);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+((char *)local_78,psVar7);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "string *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "string *psVar7;" type_identifier (pointer_declarator "*psVar7" * identifier) ;) (declaration "undefined1 *local_78 [2];" type_identifier (pointer_declarator "*local_78 [2]" * (array_declarator "local_78 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_70 [16];" type_identifier (array_declarator "auStack_70 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_60 [2];" type_identifier (pointer_declarator "*local_60 [2]" * (array_declarator "local_60 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_58 [16];" type_identifier (array_declarator "auStack_58 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_48 [2];" type_identifier (pointer_declarator "*local_48 [2]" * (array_declarator "local_48 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_40 [16];" type_identifier (array_declarator "auStack_40 [16]" identifier [ number_literal ]) ;) (declaration "Layout *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "puVar1 = PTR_s__s_004c1a50;" (assignment_expression "puVar1 = PTR_s__s_004c1a50" identifier = identifier) ;) (expression_statement "piVar3 = *(int **)(this + 0x13c);" (assignment_expression "piVar3 = *(int **)(this + 0x13c)" identifier = (pointer_expression "*(int **)(this + 0x13c)" * (cast_expression "(int **)(this + 0x13c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x13c)" ( (binary_expression "this + 0x13c" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = *(int **)(this + 0x140);" (assignment_expression "piVar4 = *(int **)(this + 0x140)" identifier = (pointer_expression "*(int **)(this + 0x140)" * (cast_expression "(int **)(this + 0x140)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x140)" ( (binary_expression "this + 0x140" identifier + number_literal) ))))) ;) (if_statement "if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+((char *)local_60,psVar6);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+((char *)local_78,psVar7);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }" if (parenthesized_expression "(piVar3 != piVar4)" ( (binary_expression "piVar3 != piVar4" identifier != identifier) )) (compound_statement "{\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+((char *)local_60,psVar6);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+((char *)local_78,psVar7);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }" { (expression_statement "psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);" (assignment_expression "psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4)" identifier = (cast_expression "(string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4" identifier + number_literal) )))) ;) (expression_statement "psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);" (assignment_expression "psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0)" identifier = (cast_expression "(string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0" identifier + number_literal) )))) ;) (expression_statement "local_30 = this;" (assignment_expression "local_30 = this" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+((char *)local_60,psVar6);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+((char *)local_78,psVar7);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);" do (compound_statement "{\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+((char *)local_60,psVar6);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+((char *)local_78,psVar7);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    }" { (while_statement "while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+((char *)local_60,psVar6);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+((char *)local_78,psVar7);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+((char *)local_60,psVar6);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+((char *)local_78,psVar7);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }" { (expression_statement "iVar5 = *(int *)(*piVar3 + 0x24);" (assignment_expression "iVar5 = *(int *)(*piVar3 + 0x24)" identifier = (pointer_expression "*(int *)(*piVar3 + 0x24)" * (cast_expression "(int *)(*piVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar3 + 0x24)" ( (binary_expression "*piVar3 + 0x24" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (expression_statement "iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);" (assignment_expression "iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8)" identifier = (call_expression "(*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8)" (parenthesized_expression "(*(code *)PTR_strspn_004c5ad4)" ( (pointer_expression "*(code *)PTR_strspn_004c5ad4" * (cast_expression "(code *)PTR_strspn_004c5ad4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5,puVar1 + 0x38a8)" ( identifier , (binary_expression "puVar1 + 0x38a8" identifier + number_literal) )))) ;) (if_statement "if (*(char *)(iVar5 + iVar2) != '\0') break;" if (parenthesized_expression "(*(char *)(iVar5 + iVar2) != '\0')" ( (binary_expression "*(char *)(iVar5 + iVar2) != '\0'" (pointer_expression "*(char *)(iVar5 + iVar2)" * (cast_expression "(char *)(iVar5 + iVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + iVar2)" ( (binary_expression "iVar5 + iVar2" identifier + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);" (assignment_expression "iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(iVar5)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "(*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);" (call_expression "(*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_004c1b68)" ( (binary_expression "*(code *)PTR__M_construct<char_const*>_004c1b68" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" * (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) (ERROR "*" *) > identifier) )) (argument_list "(local_48,iVar5,iVar5 + iVar2,0)" ( identifier , identifier , (binary_expression "iVar5 + iVar2" identifier + identifier) , number_literal ))) ;) comment (labeled_statement "std::operator+((char *)local_60,psVar6);" statement_identifier : (ERROR ":" :) (expression_statement "operator+((char *)local_60,psVar6);" (binary_expression "operator+((char *)local_60,psVar6)" identifier + (parenthesized_expression "((char *)local_60,psVar6)" ( (comma_expression "(char *)local_60,psVar6" (cast_expression "(char *)local_60" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier) ))) ;)) comment (labeled_statement "std::operator+((char *)local_78,psVar7);" statement_identifier : (ERROR ":" :) (expression_statement "operator+((char *)local_78,psVar7);" (binary_expression "operator+((char *)local_78,psVar7)" identifier + (parenthesized_expression "((char *)local_78,psVar7)" ( (comma_expression "(char *)local_78,psVar7" (cast_expression "(char *)local_78" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier) ))) ;)) comment (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" ( (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" * (cast_expression "(code *)PTR_define_in_output_data_004c1b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,local_60[0],0,5,*piVar3)" ( identifier , (subscript_expression "local_60[0]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*piVar3" * identifier) ))) ;) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" ( (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" * (cast_expression "(code *)PTR_define_in_output_data_004c1b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,local_78[0],0,5,*piVar3)" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*piVar3" * identifier) ))) ;) (if_statement "if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_78[0] != auStack_70)" ( (binary_expression "local_78[0] != auStack_70" (subscript_expression "local_78[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_60[0] != auStack_58)" ( (binary_expression "local_60[0] != auStack_58" (subscript_expression "local_60[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar4 = *(int **)(local_30 + 0x140);" (assignment_expression "piVar4 = *(int **)(local_30 + 0x140)" identifier = (pointer_expression "*(int **)(local_30 + 0x140)" * (cast_expression "(int **)(local_30 + 0x140)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_30 + 0x140)" ( (binary_expression "local_30 + 0x140" identifier + number_literal) ))))) ;) (if_statement "if (piVar4 == piVar3) {\n          return;\n        }" if (parenthesized_expression "(piVar4 == piVar3)" ( (binary_expression "piVar4 == piVar3" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar4 != piVar3)" ( (binary_expression "piVar4 != piVar3" identifier != identifier) )) ;) })) (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 define_section_symbols(Layout * this, Symbol_table * symtab) */\n\nvoid __thiscall gold::Layout::define_section_symbols(Layout *this,Symbol_table *symtab)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  pointer ppOVar3;\n  pointer ppOVar4;\n  int iVar5;\n  char *__lhs;\n  char *__lhs_00;\n  string stop_name;\n  string start_name;\n  string name_string;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  ppOVar3 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start;\n  ppOVar4 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish;\n  if (ppOVar3 != ppOVar4) {\n    __lhs = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4;\n    __lhs_00 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0;\n    do {\n      while( true ) {\n        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&start_name,__lhs,&name_string);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        ppOVar3 = ppOVar3 + 1;\n        ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        if (ppOVar4 == ppOVar3) {\n          return;\n        }\n      }\n      ppOVar3 = ppOVar3 + 1;\n    } while (ppOVar4 != ppOVar3);\n  }\n  return;\n}\n\n" comment comment comment comment comment comment comment (function_definition "void __thiscall gold::Layout::define_section_symbols(Layout *this,Symbol_table *symtab)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  pointer ppOVar3;\n  pointer ppOVar4;\n  int iVar5;\n  char *__lhs;\n  char *__lhs_00;\n  string stop_name;\n  string start_name;\n  string name_string;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  ppOVar3 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start;\n  ppOVar4 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish;\n  if (ppOVar3 != ppOVar4) {\n    __lhs = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4;\n    __lhs_00 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0;\n    do {\n      while( true ) {\n        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&start_name,__lhs,&name_string);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        ppOVar3 = ppOVar3 + 1;\n        ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        if (ppOVar4 == ppOVar3) {\n          return;\n        }\n      }\n      ppOVar3 = ppOVar3 + 1;\n    } while (ppOVar4 != ppOVar3);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "define_section_symbols(Layout *this,Symbol_table *symtab)" identifier (parameter_list "(Layout *this,Symbol_table *symtab)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  pointer ppOVar3;\n  pointer ppOVar4;\n  int iVar5;\n  char *__lhs;\n  char *__lhs_00;\n  string stop_name;\n  string start_name;\n  string name_string;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  ppOVar3 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start;\n  ppOVar4 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish;\n  if (ppOVar3 != ppOVar4) {\n    __lhs = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4;\n    __lhs_00 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0;\n    do {\n      while( true ) {\n        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&start_name,__lhs,&name_string);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        ppOVar3 = ppOVar3 + 1;\n        ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        if (ppOVar4 == ppOVar3) {\n          return;\n        }\n      }\n      ppOVar3 = ppOVar3 + 1;\n    } while (ppOVar4 != ppOVar3);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "pointer ppOVar3;" type_identifier identifier ;) (declaration "pointer ppOVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *__lhs;" primitive_type (pointer_declarator "*__lhs" * identifier) ;) (declaration "char *__lhs_00;" primitive_type (pointer_declarator "*__lhs_00" * identifier) ;) (declaration "string stop_name;" type_identifier identifier ;) (declaration "string start_name;" type_identifier identifier ;) (declaration "string name_string;" type_identifier identifier ;) (expression_statement "puVar1 = PTR_s__s_004c1a50;" (assignment_expression "puVar1 = PTR_s__s_004c1a50" identifier = identifier) ;) (expression_statement "ppOVar3 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start;" (field_expression "ppOVar3 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start" (field_expression "ppOVar3 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl" (binary_expression "ppOVar3 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar3 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar3 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar3 = (this->section_list_).\n            super__Vector_base<gold" identifier = (binary_expression "(this->section_list_).\n            super__Vector_base<gold" (field_expression "(this->section_list_).\n            super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "ppOVar4 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish;" (field_expression "ppOVar4 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_finish" (field_expression "ppOVar4 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl" (binary_expression "ppOVar4 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar4 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar4 = (this->section_list_).\n            super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar4 = (this->section_list_).\n            super__Vector_base<gold" identifier = (binary_expression "(this->section_list_).\n            super__Vector_base<gold" (field_expression "(this->section_list_).\n            super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppOVar3 != ppOVar4) {\n    __lhs = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4;\n    __lhs_00 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0;\n    do {\n      while( true ) {\n        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&start_name,__lhs,&name_string);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        ppOVar3 = ppOVar3 + 1;\n        ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        if (ppOVar4 == ppOVar3) {\n          return;\n        }\n      }\n      ppOVar3 = ppOVar3 + 1;\n    } while (ppOVar4 != ppOVar3);\n  }" if (parenthesized_expression "(ppOVar3 != ppOVar4)" ( (binary_expression "ppOVar3 != ppOVar4" identifier != identifier) )) (compound_statement "{\n    __lhs = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4;\n    __lhs_00 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0;\n    do {\n      while( true ) {\n        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&start_name,__lhs,&name_string);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        ppOVar3 = ppOVar3 + 1;\n        ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        if (ppOVar4 == ppOVar3) {\n          return;\n        }\n      }\n      ppOVar3 = ppOVar3 + 1;\n    } while (ppOVar4 != ppOVar3);\n  }" { (expression_statement "__lhs = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4;" (assignment_expression "__lhs = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4" identifier + number_literal)) ;) (expression_statement "__lhs_00 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0;" (assignment_expression "__lhs_00 = PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0" identifier + number_literal)) ;) (do_statement "do {\n      while( true ) {\n        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&start_name,__lhs,&name_string);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        ppOVar3 = ppOVar3 + 1;\n        ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        if (ppOVar4 == ppOVar3) {\n          return;\n        }\n      }\n      ppOVar3 = ppOVar3 + 1;\n    } while (ppOVar4 != ppOVar3);" do (compound_statement "{\n      while( true ) {\n        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&start_name,__lhs,&name_string);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        ppOVar3 = ppOVar3 + 1;\n        ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        if (ppOVar4 == ppOVar3) {\n          return;\n        }\n      }\n      ppOVar3 = ppOVar3 + 1;\n    }" { (while_statement "while( true ) {\n        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&start_name,__lhs,&name_string);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        ppOVar3 = ppOVar3 + 1;\n        ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        if (ppOVar4 == ppOVar3) {\n          return;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        name_string._M_dataplus._M_p = (pointer)&name_string.field_2;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);\n                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&start_name,__lhs,&name_string);\n                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */\n        std::operator+<char,_std::char_traits<char>,_std::allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);\n                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        ppOVar3 = ppOVar3 + 1;\n        ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;\n        if (ppOVar4 == ppOVar3) {\n          return;\n        }\n      }" { (expression_statement "iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24;" (assignment_expression "iVar5 = *(int *)&((*ppOVar3)->super_Output_data).field_0x24" identifier = (pointer_expression "*(int *)&((*ppOVar3)->super_Output_data).field_0x24" * (cast_expression "(int *)&((*ppOVar3)->super_Output_data).field_0x24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((*ppOVar3)->super_Output_data).field_0x24" & (field_expression "((*ppOVar3)->super_Output_data).field_0x24" (parenthesized_expression "((*ppOVar3)->super_Output_data)" ( (field_expression "(*ppOVar3)->super_Output_data" (parenthesized_expression "(*ppOVar3)" ( (pointer_expression "*ppOVar3" * identifier) )) -> field_identifier) )) . field_identifier))))) ;) (expression_statement "iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);" (assignment_expression "iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8)" identifier = (call_expression "(*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8)" (parenthesized_expression "(*(code *)PTR_strspn_004c5ad4)" ( (pointer_expression "*(code *)PTR_strspn_004c5ad4" * (cast_expression "(code *)PTR_strspn_004c5ad4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5,puVar1 + 0x38a8)" ( identifier , (binary_expression "puVar1 + 0x38a8" identifier + number_literal) )))) ;) (if_statement "if (*(char *)(iVar5 + iVar2) != '\0') break;" if (parenthesized_expression "(*(char *)(iVar5 + iVar2) != '\0')" ( (binary_expression "*(char *)(iVar5 + iVar2) != '\0'" (pointer_expression "*(char *)(iVar5 + iVar2)" * (cast_expression "(char *)(iVar5 + iVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + iVar2)" ( (binary_expression "iVar5 + iVar2" identifier + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "name_string._M_dataplus._M_p = (pointer)&name_string.field_2;" (assignment_expression "name_string._M_dataplus._M_p = (pointer)&name_string.field_2" (field_expression "name_string._M_dataplus._M_p" (field_expression "name_string._M_dataplus" identifier . field_identifier) . field_identifier) = (binary_expression "(pointer)&name_string.field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "name_string.field_2" identifier . field_identifier))) ;) (expression_statement "iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);" (assignment_expression "iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(iVar5)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "(*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0);" (call_expression "(*(code *)PTR__M_construct<char_const*>_004c1b68)(&name_string,iVar5,iVar5 + iVar2,0)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_004c1b68)" ( (binary_expression "*(code *)PTR__M_construct<char_const*>_004c1b68" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" * (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) (ERROR "*" *) > identifier) )) (argument_list "(&name_string,iVar5,iVar5 + iVar2,0)" ( (pointer_expression "&name_string" & identifier) , identifier , (binary_expression "iVar5 + iVar2" identifier + identifier) , number_literal ))) ;) comment (ERROR "std::operator+<char,_std::char_traits<char>,_std::" (comma_expression "std::operator+<char,_std" (binary_expression "std::operator+<char" identifier (ERROR "::operator+" : : identifier +) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_>\n                  (&start_name,__lhs,&name_string);" (binary_expression "allocator<char>_>\n                  (&start_name,__lhs,&name_string)" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (parenthesized_expression "(&start_name,__lhs,&name_string)" ( (comma_expression "&start_name,__lhs,&name_string" (pointer_expression "&start_name" & identifier) , (comma_expression "__lhs,&name_string" identifier , (pointer_expression "&name_string" & identifier))) ))) ;) comment (ERROR "std::operator+<char,_std::char_traits<char>,_std::" (comma_expression "std::operator+<char,_std" (binary_expression "std::operator+<char" identifier (ERROR "::operator+" : : identifier +) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (expression_statement "allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string);" (binary_expression "allocator<char>_>\n                  (&stop_name,__lhs_00,&name_string)" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (parenthesized_expression "(&stop_name,__lhs_00,&name_string)" ( (comma_expression "&stop_name,__lhs_00,&name_string" (pointer_expression "&stop_name" & identifier) , (comma_expression "__lhs_00,&name_string" identifier , (pointer_expression "&name_string" & identifier))) ))) ;) comment (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" ( (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" * (cast_expression "(code *)PTR_define_in_output_data_004c1b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(symtab,start_name._M_dataplus._M_p,0,5,*ppOVar3)" ( identifier , (field_expression "start_name._M_dataplus._M_p" (field_expression "start_name._M_dataplus" identifier . field_identifier) . field_identifier) , number_literal , number_literal , (pointer_expression "*ppOVar3" * identifier) ))) ;) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)\n                  (symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" ( (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" * (cast_expression "(code *)PTR_define_in_output_data_004c1b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(symtab,stop_name._M_dataplus._M_p,0,5,*ppOVar3)" ( identifier , (field_expression "stop_name._M_dataplus._M_p" (field_expression "stop_name._M_dataplus" identifier . field_identifier) . field_identifier) , number_literal , number_literal , (pointer_expression "*ppOVar3" * identifier) ))) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p != &stop_name.field_2" (binary_expression "allocator<char>_>_9\n             *)stop_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)stop_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "stop_name._M_dataplus._M_p" (field_expression "stop_name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&stop_name.field_2" & (field_expression "stop_name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n             *)start_name._M_dataplus._M_p != &start_name.field_2" (binary_expression "allocator<char>_>_9\n             *)start_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)start_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "start_name._M_dataplus._M_p" (field_expression "start_name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&start_name.field_2" & (field_expression "start_name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n             *)name_string._M_dataplus._M_p != &name_string.field_2" (binary_expression "allocator<char>_>_9\n             *)name_string._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)name_string._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "name_string._M_dataplus._M_p" (field_expression "name_string._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&name_string.field_2" & (field_expression "name_string.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "ppOVar3 = ppOVar3 + 1;" (assignment_expression "ppOVar3 = ppOVar3 + 1" identifier = (binary_expression "ppOVar3 + 1" identifier + number_literal)) ;) (expression_statement "ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish;" (field_expression "ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_finish" (field_expression "ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl" (binary_expression "ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar4 = (this->section_list_).\n                  super__Vector_base<gold" identifier = (binary_expression "(this->section_list_).\n                  super__Vector_base<gold" (field_expression "(this->section_list_).\n                  super__Vector_base" (parenthesized_expression "(this->section_list_)" ( (field_expression "this->section_list_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (ppOVar4 == ppOVar3) {\n          return;\n        }" if (parenthesized_expression "(ppOVar4 == ppOVar3)" ( (binary_expression "ppOVar4 == ppOVar3" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "ppOVar3 = ppOVar3 + 1;" (assignment_expression "ppOVar3 = ppOVar3 + 1" identifier = (binary_expression "ppOVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppOVar4 != ppOVar3)" ( (binary_expression "ppOVar4 != ppOVar3" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void __thiscall gold::Layout::define_section_symbols(Layout *this,Symbol_table *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  int iVar5;\n  string *psVar6;\n  string *psVar7;\n  undefined1 *local_78 [2];\n  undefined1 auStack_70 [16];\n  undefined1 *local_60 [2];\n  undefined1 auStack_58 [16];\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  Layout *local_30;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  piVar3 = *(int **)(this + 0x13c);\n  piVar4 = *(int **)(this + 0x140);\n  if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }\n  return;\n}\n\n" (function_definition "void __thiscall gold::Layout::define_section_symbols(Layout *this,Symbol_table *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  int iVar5;\n  string *psVar6;\n  string *psVar7;\n  undefined1 *local_78 [2];\n  undefined1 auStack_70 [16];\n  undefined1 *local_60 [2];\n  undefined1 auStack_58 [16];\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  Layout *local_30;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  piVar3 = *(int **)(this + 0x13c);\n  piVar4 = *(int **)(this + 0x140);\n  if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "define_section_symbols(Layout *this,Symbol_table *param_1)" identifier (parameter_list "(Layout *this,Symbol_table *param_1)" ( (parameter_declaration "Layout *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  int iVar5;\n  string *psVar6;\n  string *psVar7;\n  undefined1 *local_78 [2];\n  undefined1 auStack_70 [16];\n  undefined1 *local_60 [2];\n  undefined1 auStack_58 [16];\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  Layout *local_30;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  piVar3 = *(int **)(this + 0x13c);\n  piVar4 = *(int **)(this + 0x140);\n  if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "string *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "string *psVar7;" type_identifier (pointer_declarator "*psVar7" * identifier) ;) (declaration "undefined1 *local_78 [2];" type_identifier (pointer_declarator "*local_78 [2]" * (array_declarator "local_78 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_70 [16];" type_identifier (array_declarator "auStack_70 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_60 [2];" type_identifier (pointer_declarator "*local_60 [2]" * (array_declarator "local_60 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_58 [16];" type_identifier (array_declarator "auStack_58 [16]" identifier [ number_literal ]) ;) (declaration "undefined1 *local_48 [2];" type_identifier (pointer_declarator "*local_48 [2]" * (array_declarator "local_48 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_40 [16];" type_identifier (array_declarator "auStack_40 [16]" identifier [ number_literal ]) ;) (declaration "Layout *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "puVar1 = PTR_s__s_004c1a50;" (assignment_expression "puVar1 = PTR_s__s_004c1a50" identifier = identifier) ;) (expression_statement "piVar3 = *(int **)(this + 0x13c);" (assignment_expression "piVar3 = *(int **)(this + 0x13c)" identifier = (pointer_expression "*(int **)(this + 0x13c)" * (cast_expression "(int **)(this + 0x13c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x13c)" ( (binary_expression "this + 0x13c" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = *(int **)(this + 0x140);" (assignment_expression "piVar4 = *(int **)(this + 0x140)" identifier = (pointer_expression "*(int **)(this + 0x140)" * (cast_expression "(int **)(this + 0x140)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(this + 0x140)" ( (binary_expression "this + 0x140" identifier + number_literal) ))))) ;) (if_statement "if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }" if (parenthesized_expression "(piVar3 != piVar4)" ( (binary_expression "piVar3 != piVar4" identifier != identifier) )) (compound_statement "{\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }" { (expression_statement "psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);" (assignment_expression "psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4)" identifier = (cast_expression "(string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4" identifier + number_literal) )))) ;) (expression_statement "psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);" (assignment_expression "psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0)" identifier = (cast_expression "(string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0)" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0" identifier + number_literal) )))) ;) (expression_statement "local_30 = this;" (assignment_expression "local_30 = this" identifier = identifier) ;) (do_statement "do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);" do (compound_statement "{\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    }" { (while_statement "while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }" { (expression_statement "iVar5 = *(int *)(*piVar3 + 0x24);" (assignment_expression "iVar5 = *(int *)(*piVar3 + 0x24)" identifier = (pointer_expression "*(int *)(*piVar3 + 0x24)" * (cast_expression "(int *)(*piVar3 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar3 + 0x24)" ( (binary_expression "*piVar3 + 0x24" (pointer_expression "*piVar3" * identifier) + number_literal) ))))) ;) (expression_statement "iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);" (assignment_expression "iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8)" identifier = (call_expression "(*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8)" (parenthesized_expression "(*(code *)PTR_strspn_004c5ad4)" ( (pointer_expression "*(code *)PTR_strspn_004c5ad4" * (cast_expression "(code *)PTR_strspn_004c5ad4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5,puVar1 + 0x38a8)" ( identifier , (binary_expression "puVar1 + 0x38a8" identifier + number_literal) )))) ;) (if_statement "if (*(char *)(iVar5 + iVar2) != '\0') break;" if (parenthesized_expression "(*(char *)(iVar5 + iVar2) != '\0')" ( (binary_expression "*(char *)(iVar5 + iVar2) != '\0'" (pointer_expression "*(char *)(iVar5 + iVar2)" * (cast_expression "(char *)(iVar5 + iVar2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + iVar2)" ( (binary_expression "iVar5 + iVar2" identifier + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);" (assignment_expression "iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(iVar5)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "(*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);" (call_expression "(*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_004c1b68)" ( (binary_expression "*(code *)PTR__M_construct<char_const*>_004c1b68" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" * (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) (ERROR "*" *) > identifier) )) (argument_list "(local_48,iVar5,iVar5 + iVar2,0)" ( identifier , identifier , (binary_expression "iVar5 + iVar2" identifier + identifier) , number_literal ))) ;) (labeled_statement "std::operator+((char *)local_60,psVar6);" statement_identifier : (ERROR ":" :) (expression_statement "operator+((char *)local_60,psVar6);" (binary_expression "operator+((char *)local_60,psVar6)" identifier + (parenthesized_expression "((char *)local_60,psVar6)" ( (comma_expression "(char *)local_60,psVar6" (cast_expression "(char *)local_60" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier) ))) ;)) (labeled_statement "std::operator+((char *)local_78,psVar7);" statement_identifier : (ERROR ":" :) (expression_statement "operator+((char *)local_78,psVar7);" (binary_expression "operator+((char *)local_78,psVar7)" identifier + (parenthesized_expression "((char *)local_78,psVar7)" ( (comma_expression "(char *)local_78,psVar7" (cast_expression "(char *)local_78" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier) ))) ;)) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" ( (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" * (cast_expression "(code *)PTR_define_in_output_data_004c1b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,local_60[0],0,5,*piVar3)" ( identifier , (subscript_expression "local_60[0]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*piVar3" * identifier) ))) ;) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" ( (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" * (cast_expression "(code *)PTR_define_in_output_data_004c1b10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,local_78[0],0,5,*piVar3)" ( identifier , (subscript_expression "local_78[0]" identifier [ number_literal ]) , number_literal , number_literal , (pointer_expression "*piVar3" * identifier) ))) ;) (if_statement "if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_78[0] != auStack_70)" ( (binary_expression "local_78[0] != auStack_70" (subscript_expression "local_78[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_60[0] != auStack_58)" ( (binary_expression "local_60[0] != auStack_58" (subscript_expression "local_60[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" if (parenthesized_expression "(local_48[0] != auStack_40)" ( (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) (expression_statement "piVar4 = *(int **)(local_30 + 0x140);" (assignment_expression "piVar4 = *(int **)(local_30 + 0x140)" identifier = (pointer_expression "*(int **)(local_30 + 0x140)" * (cast_expression "(int **)(local_30 + 0x140)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_30 + 0x140)" ( (binary_expression "local_30 + 0x140" identifier + number_literal) ))))) ;) (if_statement "if (piVar4 == piVar3) {\n          return;\n        }" if (parenthesized_expression "(piVar4 == piVar3)" ( (binary_expression "piVar4 == piVar3" identifier == identifier) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" identifier = (binary_expression "piVar3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar4 != piVar3)" ( (binary_expression "piVar4 != piVar3" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) != (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) (ERROR *) > IDENT) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) , LIT ))) ;) (labeled_statement statement_identifier : (ERROR :) (expression_statement (binary_expression IDENT + (parenthesized_expression ( (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , IDENT) ))) ;)) (labeled_statement statement_identifier : (ERROR :) (expression_statement (binary_expression IDENT + (parenthesized_expression ( (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , IDENT) ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , LIT , LIT , (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , LIT , LIT , (pointer_expression * IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void __thiscall gold::Layout::define_section_symbols(Layout *this,Symbol_table *param_1)\n\n{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  int iVar5;\n  string *psVar6;\n  string *psVar7;\n  undefined1 *local_78 [2];\n  undefined1 auStack_70 [16];\n  undefined1 *local_60 [2];\n  undefined1 auStack_58 [16];\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  Layout *local_30;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  piVar3 = *(int **)(this + 0x13c);\n  piVar4 = *(int **)(this + 0x140);\n  if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }\n  return;\n}" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Layout::" (identifier "gold") (: ":") (: ":") (identifier "Layout") (: ":") (: ":")) (function_declarator "define_section_symbols(Layout *this,Symbol_table *param_1)" (identifier "define_section_symbols") (parameter_list "(Layout *this,Symbol_table *param_1)" (( "(") (parameter_declaration "Layout *this" (type_identifier "Layout") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Symbol_table *param_1" (type_identifier "Symbol_table") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  undefined *puVar1;\n  int iVar2;\n  int *piVar3;\n  int *piVar4;\n  int iVar5;\n  string *psVar6;\n  string *psVar7;\n  undefined1 *local_78 [2];\n  undefined1 auStack_70 [16];\n  undefined1 *local_60 [2];\n  undefined1 auStack_58 [16];\n  undefined1 *local_48 [2];\n  undefined1 auStack_40 [16];\n  Layout *local_30;\n  \n  puVar1 = PTR_s__s_004c1a50;\n  piVar3 = *(int **)(this + 0x13c);\n  piVar4 = *(int **)(this + 0x140);\n  if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }\n  return;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "string *psVar6;" (type_identifier "string") (pointer_declarator "*psVar6" (* "*") (identifier "psVar6")) (; ";")) (declaration "string *psVar7;" (type_identifier "string") (pointer_declarator "*psVar7" (* "*") (identifier "psVar7")) (; ";")) (declaration "undefined1 *local_78 [2];" (type_identifier "undefined1") (pointer_declarator "*local_78 [2]" (* "*") (array_declarator "local_78 [2]" (identifier "local_78") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 auStack_70 [16];" (type_identifier "undefined1") (array_declarator "auStack_70 [16]" (identifier "auStack_70") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_60 [2];" (type_identifier "undefined1") (pointer_declarator "*local_60 [2]" (* "*") (array_declarator "local_60 [2]" (identifier "local_60") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 auStack_58 [16];" (type_identifier "undefined1") (array_declarator "auStack_58 [16]" (identifier "auStack_58") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined1 *local_48 [2];" (type_identifier "undefined1") (pointer_declarator "*local_48 [2]" (* "*") (array_declarator "local_48 [2]" (identifier "local_48") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 auStack_40 [16];" (type_identifier "undefined1") (array_declarator "auStack_40 [16]" (identifier "auStack_40") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "Layout *local_30;" (type_identifier "Layout") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (expression_statement "puVar1 = PTR_s__s_004c1a50;" (assignment_expression "puVar1 = PTR_s__s_004c1a50" (identifier "puVar1") (= "=") (identifier "PTR_s__s_004c1a50")) (; ";")) (expression_statement "piVar3 = *(int **)(this + 0x13c);" (assignment_expression "piVar3 = *(int **)(this + 0x13c)" (identifier "piVar3") (= "=") (pointer_expression "*(int **)(this + 0x13c)" (* "*") (cast_expression "(int **)(this + 0x13c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x13c)" (( "(") (binary_expression "this + 0x13c" (identifier "this") (+ "+") (number_literal "0x13c")) () ")"))))) (; ";")) (expression_statement "piVar4 = *(int **)(this + 0x140);" (assignment_expression "piVar4 = *(int **)(this + 0x140)" (identifier "piVar4") (= "=") (pointer_expression "*(int **)(this + 0x140)" (* "*") (cast_expression "(int **)(this + 0x140)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(this + 0x140)" (( "(") (binary_expression "this + 0x140" (identifier "this") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (if_statement "if (piVar3 != piVar4) {\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }" (if "if") (parenthesized_expression "(piVar3 != piVar4)" (( "(") (binary_expression "piVar3 != piVar4" (identifier "piVar3") (!= "!=") (identifier "piVar4")) () ")")) (compound_statement "{\n    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);\n    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);\n    local_30 = this;\n    do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);\n  }" ({ "{") (expression_statement "psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);" (assignment_expression "psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4)" (identifier "psVar6") (= "=") (cast_expression "(string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4)" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3fc4")) () ")")))) (; ";")) (expression_statement "psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);" (assignment_expression "psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0)" (identifier "psVar7") (= "=") (cast_expression "(string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0)" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3fd0")) () ")")))) (; ";")) (expression_statement "local_30 = this;" (assignment_expression "local_30 = this" (identifier "local_30") (= "=") (identifier "this")) (; ";")) (do_statement "do {\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    } while (piVar4 != piVar3);" (do "do") (compound_statement "{\n      while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }\n      piVar3 = piVar3 + 1;\n    }" ({ "{") (while_statement "while( true ) {\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        iVar5 = *(int *)(*piVar3 + 0x24);\n        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);\n        if (*(char *)(iVar5 + iVar2) != '\0') break;\n        local_48[0] = auStack_40;\n        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);\n        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);\n                    \n        std::operator+((char *)local_60,psVar6);\n                    \n        std::operator+((char *)local_78,psVar7);\n                    \n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);\n        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);\n        if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }\n        piVar3 = piVar3 + 1;\n        piVar4 = *(int **)(local_30 + 0x140);\n        if (piVar4 == piVar3) {\n          return;\n        }\n      }" ({ "{") (expression_statement "iVar5 = *(int *)(*piVar3 + 0x24);" (assignment_expression "iVar5 = *(int *)(*piVar3 + 0x24)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*piVar3 + 0x24)" (* "*") (cast_expression "(int *)(*piVar3 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar3 + 0x24)" (( "(") (binary_expression "*piVar3 + 0x24" (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);" (assignment_expression "iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8)" (parenthesized_expression "(*(code *)PTR_strspn_004c5ad4)" (( "(") (pointer_expression "*(code *)PTR_strspn_004c5ad4" (* "*") (cast_expression "(code *)PTR_strspn_004c5ad4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strspn_004c5ad4"))) () ")")) (argument_list "(iVar5,puVar1 + 0x38a8)" (( "(") (identifier "iVar5") (, ",") (binary_expression "puVar1 + 0x38a8" (identifier "puVar1") (+ "+") (number_literal "0x38a8")) () ")")))) (; ";")) (if_statement "if (*(char *)(iVar5 + iVar2) != '\0') break;" (if "if") (parenthesized_expression "(*(char *)(iVar5 + iVar2) != '\0')" (( "(") (binary_expression "*(char *)(iVar5 + iVar2) != '\0'" (pointer_expression "*(char *)(iVar5 + iVar2)" (* "*") (cast_expression "(char *)(iVar5 + iVar2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + iVar2)" (( "(") (binary_expression "iVar5 + iVar2" (identifier "iVar5") (+ "+") (identifier "iVar2")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_48[0] = auStack_40;" (assignment_expression "local_48[0] = auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "auStack_40")) (; ";")) (expression_statement "iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);" (assignment_expression "iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(iVar5)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);" (call_expression "(*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_004c1b68)" (( "(") (binary_expression "*(code *)PTR__M_construct<char_const*>_004c1b68" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" (* "*") (cast_expression "(code *)PTR__M_construct" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_construct"))) (< "<") (identifier "char_const")) (ERROR "*" (* "*")) (> ">") (identifier "_004c1b68")) () ")")) (argument_list "(local_48,iVar5,iVar5 + iVar2,0)" (( "(") (identifier "local_48") (, ",") (identifier "iVar5") (, ",") (binary_expression "iVar5 + iVar2" (identifier "iVar5") (+ "+") (identifier "iVar2")) (, ",") (number_literal "0") () ")"))) (; ";")) (labeled_statement "std::operator+((char *)local_60,psVar6);" (statement_identifier "std") (: ":") (ERROR ":" (: ":")) (expression_statement "operator+((char *)local_60,psVar6);" (binary_expression "operator+((char *)local_60,psVar6)" (identifier "operator") (+ "+") (parenthesized_expression "((char *)local_60,psVar6)" (( "(") (comma_expression "(char *)local_60,psVar6" (cast_expression "(char *)local_60" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_60")) (, ",") (identifier "psVar6")) () ")"))) (; ";"))) (labeled_statement "std::operator+((char *)local_78,psVar7);" (statement_identifier "std") (: ":") (ERROR ":" (: ":")) (expression_statement "operator+((char *)local_78,psVar7);" (binary_expression "operator+((char *)local_78,psVar7)" (identifier "operator") (+ "+") (parenthesized_expression "((char *)local_78,psVar7)" (( "(") (comma_expression "(char *)local_78,psVar7" (cast_expression "(char *)local_78" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_78")) (, ",") (identifier "psVar7")) () ")"))) (; ";"))) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" (( "(") (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" (* "*") (cast_expression "(code *)PTR_define_in_output_data_004c1b10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_define_in_output_data_004c1b10"))) () ")")) (argument_list "(param_1,local_60[0],0,5,*piVar3)" (( "(") (identifier "param_1") (, ",") (subscript_expression "local_60[0]" (identifier "local_60") ([ "[") (number_literal "0") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "5") (, ",") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);" (call_expression "(*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3)" (parenthesized_expression "(*(code *)PTR_define_in_output_data_004c1b10)" (( "(") (pointer_expression "*(code *)PTR_define_in_output_data_004c1b10" (* "*") (cast_expression "(code *)PTR_define_in_output_data_004c1b10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_define_in_output_data_004c1b10"))) () ")")) (argument_list "(param_1,local_78[0],0,5,*piVar3)" (( "(") (identifier "param_1") (, ",") (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) (, ",") (number_literal "0") (, ",") (number_literal "5") (, ",") (pointer_expression "*piVar3" (* "*") (identifier "piVar3")) () ")"))) (; ";")) (if_statement "if (local_78[0] != auStack_70) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" (if "if") (parenthesized_expression "(local_78[0] != auStack_70)" (( "(") (binary_expression "local_78[0] != auStack_70" (subscript_expression "local_78[0]" (identifier "local_78") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "auStack_70")) () ")")) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_60[0] != auStack_58) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" (if "if") (parenthesized_expression "(local_60[0] != auStack_58)" (( "(") (binary_expression "local_60[0] != auStack_58" (subscript_expression "local_60[0]" (identifier "local_60") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "auStack_58")) () ")")) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_48[0] != auStack_40) {\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" (if "if") (parenthesized_expression "(local_48[0] != auStack_40)" (( "(") (binary_expression "local_48[0] != auStack_40" (subscript_expression "local_48[0]" (identifier "local_48") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "auStack_40")) () ")")) (compound_statement "{\n          (*(code *)PTR_operator_delete_004c12fc)();\n        }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" (identifier "piVar3") (= "=") (binary_expression "piVar3 + 1" (identifier "piVar3") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar4 = *(int **)(local_30 + 0x140);" (assignment_expression "piVar4 = *(int **)(local_30 + 0x140)" (identifier "piVar4") (= "=") (pointer_expression "*(int **)(local_30 + 0x140)" (* "*") (cast_expression "(int **)(local_30 + 0x140)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(local_30 + 0x140)" (( "(") (binary_expression "local_30 + 0x140" (identifier "local_30") (+ "+") (number_literal "0x140")) () ")"))))) (; ";")) (if_statement "if (piVar4 == piVar3) {\n          return;\n        }" (if "if") (parenthesized_expression "(piVar4 == piVar3)" (( "(") (binary_expression "piVar4 == piVar3" (identifier "piVar4") (== "==") (identifier "piVar3")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar3 = piVar3 + 1;" (assignment_expression "piVar3 = piVar3 + 1" (identifier "piVar3") (= "=") (binary_expression "piVar3 + 1" (identifier "piVar3") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar4 != piVar3)" (( "(") (binary_expression "piVar4 != piVar3" (identifier "piVar4") (!= "!=") (identifier "piVar3")) () ")")) (; ";")) (} "}"))) (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 define_section_symbols(Layout * this, Symbol_table * symtab) */

void __thiscall var_1::type_1::function_1(type_1 *this,type_2 *symtab)

{
  type_3 *var_7;
  int var_9;
  type_4 var_4;
  type_4 var_5;
  int var_8;
  char *__lhs;
  char *__lhs_00;
  type_5 stop_name;
  type_5 start_name;
  type_5 name_string;
  
  var_7 = PTR_s__s_004c1a50;
  var_4 = (this->section_list_).
            super__Vector_base<var_1::Output_section*,var_2::var_12<var_1::Output_section*>var_3>.
            _M_impl._M_start;
  var_5 = (this->section_list_).
            super__Vector_base<var_1::Output_section*,var_2::var_12<var_1::Output_section*>var_3>.
            _M_impl._M_finish;
  if (var_4 != var_5) {
    __lhs = var_6 + 0x3fc4;
    __lhs_00 = var_6 + 0x3fd0;
    do {
      while( true ) {
        var_8 = *(int *)&((*var_4)->super_Output_data).field_0x24;
        var_9 = (*(type_6 *)PTR_strspn_004c5ad4)(var_8,var_7 + 0x38a8);
        if (*(char *)(var_8 + var_9) != '\0') break;
        name_string._M_dataplus._M_p = (type_4)&name_string.field_2;
        var_9 = (*(type_6 *)PTR_strlen_004c5b9c)(var_8);
        (*(type_6 *)PTR__M_construct<var_10*>var_11)(&name_string,var_8,var_8 + var_9,0);
                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */
        std::operator+<var_13,var_2::char_traits<var_13>,var_2::var_12<var_13>var_3>
                  (&start_name,__lhs,&name_string);
                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */
        std::operator+<var_13,var_2::char_traits<var_13>,var_2::var_12<var_13>var_3>
                  (&stop_name,__lhs_00,&name_string);
                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */
        (*(type_6 *)PTR_define_in_output_data_004c1b10)
                  (symtab,start_name._M_dataplus._M_p,0,5,*var_4);
        (*(type_6 *)PTR_define_in_output_data_004c1b10)
                  (symtab,stop_name._M_dataplus._M_p,0,5,*var_4);
        if ((anon_union_16_2_edb7204a_for_basic_string<var_13,var_2::char_traits<var_13>,var_2::var_12<var_13>var_3>var_14
             *)stop_name._M_dataplus._M_p != &stop_name.field_2) {
          (*(type_6 *)PTR_operator_delete_004c12fc)();
        }
        if ((anon_union_16_2_edb7204a_for_basic_string<var_13,var_2::char_traits<var_13>,var_2::var_12<var_13>var_3>var_14
             *)start_name._M_dataplus._M_p != &start_name.field_2) {
          (*(type_6 *)PTR_operator_delete_004c12fc)();
        }
        if ((anon_union_16_2_edb7204a_for_basic_string<var_13,var_2::char_traits<var_13>,var_2::var_12<var_13>var_3>var_14
             *)name_string._M_dataplus._M_p != &name_string.field_2) {
          (*(type_6 *)PTR_operator_delete_004c12fc)();
        }
        var_4 = var_4 + 1;
        var_5 = (this->section_list_).
                  super__Vector_base<var_1::Output_section*,var_2::var_12<var_1::Output_section*>var_3>.
                  _M_impl._M_finish;
        if (var_5 == var_4) {
          return;
        }
      }
      var_4 = var_4 + 1;
    } while (var_5 != var_4);
  }
  return;
}


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

/* gold::Layout::MASKED(gold::Symbol_table*) */

void __thiscall gold::Layout::MASKED(Layout *this,Symbol_table *param_1)

{
  undefined *puVar1;
  int iVar2;
  int *piVar3;
  int *piVar4;
  int iVar5;
  string *psVar6;
  string *psVar7;
  undefined1 *local_78 [2];
  undefined1 auStack_70 [16];
  undefined1 *local_60 [2];
  undefined1 auStack_58 [16];
  undefined1 *local_48 [2];
  undefined1 auStack_40 [16];
  Layout *local_30;
  
  puVar1 = PTR_s__s_004c1a50;
  piVar3 = *(int **)(this + 0x13c);
  piVar4 = *(int **)(this + 0x140);
  if (piVar3 != piVar4) {
    psVar6 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fc4);
    psVar7 = (string *)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3fd0);
    local_30 = this;
    do {
      while( true ) {
        iVar5 = *(int *)(*piVar3 + 0x24);
        iVar2 = (*(code *)PTR_strspn_004c5ad4)(iVar5,puVar1 + 0x38a8);
        if (*(char *)(iVar5 + iVar2) != '\0') break;
        local_48[0] = auStack_40;
        iVar2 = (*(code *)PTR_strlen_004c5b9c)(iVar5);
        (*(code *)PTR__M_construct<char_const*>_004c1b68)(local_48,iVar5,iVar5 + iVar2,0);
                    /* try { // try from 001b8a94 to 001b8a9b has its CatchHandler @ 001b8c00 */
        std::operator+((char *)local_60,psVar6);
                    /* try { // try from 001b8aa8 to 001b8aaf has its CatchHandler @ 001b8c70 */
        std::operator+((char *)local_78,psVar7);
                    /* try { // try from 001b8b04 to 001b8b67 has its CatchHandler @ 001b8c2c */
        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_60[0],0,5,*piVar3);
        (*(code *)PTR_define_in_output_data_004c1b10)(param_1,local_78[0],0,5,*piVar3);
        if (local_78[0] != auStack_70) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        if (local_60[0] != auStack_58) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        if (local_48[0] != auStack_40) {
          (*(code *)PTR_operator_delete_004c12fc)();
        }
        piVar3 = piVar3 + 1;
        piVar4 = *(int **)(local_30 + 0x140);
        if (piVar4 == piVar3) {
          return;
        }
      }
      piVar3 = piVar3 + 1;
    } while (piVar4 != piVar3);
  }
  return;
}

