
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void Command_line(Command_line * this) */

void __thiscall gold::Command_line::Command_line(Command_line *this)

{
  Object_format OVar1;
  int unaff_EDI;
  
  __x86_get_pc_thunk_di();
  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;
  General_options::General_options(&this->options_);
  (this->position_options_).as_needed_ =
       *(bool *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);
  (this->position_options_).Bdynamic_ =
       *(bool *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);
                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */
  OVar1 = General_options::string_to_object_format
                    (*(char **)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));
  (this->position_options_).format_enum_ = OVar1;
  (this->position_options_).whole_archive_ =
       *(bool *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);
  (this->position_options_).incremental_disposition_ =
       *(Incremental_disposition *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);
  Script_options::Script_options(&this->script_options_);
  (this->inputs_).input_argument_list_.
  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl._M_start =
       (pointer)0x0;
  (this->inputs_).input_argument_list_.
  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl._M_finish
       = (pointer)0x0;
  (this->inputs_).input_argument_list_.
  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.
  _M_end_of_storage = (pointer)0x0;
  (this->inputs_).in_group_ = false;
  (this->inputs_).in_lib_ = false;
  (this->inputs_).file_count_ = 0;
  return;
}



void FUN_000e6b90(int param_1)

{
  undefined4 uVar1;
  int unaff_EDI;
  
  FUN_000559ee();
  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;
  FUN_000df7d0(param_1 + 4);
  *(undefined1 *)(param_1 + 0x5a90) =
       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);
  *(undefined1 *)(param_1 + 0x5a91) =
       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);
                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */
  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));
  *(undefined4 *)(param_1 + 0x5a94) = uVar1;
  *(undefined1 *)(param_1 + 0x5a98) =
       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);
  *(undefined4 *)(param_1 + 0x5a9c) =
       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);
  FUN_0016b4f0(param_1 + 0x5aa0);
  *(undefined4 *)(param_1 + 0x5b6c) = 0;
  *(undefined4 *)(param_1 + 0x5b70) = 0;
  *(undefined4 *)(param_1 + 0x5b74) = 0;
  *(undefined2 *)(param_1 + 0x5b78) = 0;
  *(undefined4 *)(param_1 + 0x5b7c) = 0;
  return;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
CALL 0x000559ee
ADD EDI,0x2a8467
PUSH ESI
PUSH EBX
SUB ESP,0x28
MOV ESI,dword ptr [EBP + 0x8]
LEA EAX,[ESI + 0x4]
MOV byte ptr [EDI + 0x61f0],0x1
PUSH EAX
MOV dword ptr [EBP + -0x1c],EAX
CALL 0x000df7d0
MOVZX EAX,byte ptr [EDI + 0x7f5]
MOV byte ptr [ESI + 0x5a90],AL
MOVZX EAX,byte ptr [EDI + 0xa49]
MOV byte ptr [ESI + 0x5a91],AL
POP EDX
PUSH dword ptr [EDI + 0x8b8]
CALL 0x000dd760
MOV dword ptr [ESI + 0x5a94],EAX
MOVZX EAX,byte ptr [EDI + 0x4f2d]
MOV EBX,EDI
MOV byte ptr [ESI + 0x5a98],AL
MOV EAX,dword ptr [EDI + 0x5f14]
MOV dword ptr [ESI + 0x5a9c],EAX
LEA EAX,[ESI + 0x5aa0]
MOV dword ptr [ESP],EAX
CALL 0x0016b4f0
MOV dword ptr [ESI + 0x5b6c],0x0
XOR EAX,EAX
ADD ESP,0x10
MOV dword ptr [ESI + 0x5b70],0x0
MOV dword ptr [ESI + 0x5b74],0x0
MOV word ptr [ESI + 0x5b78],AX
MOV dword ptr [ESI + 0x5b7c],0x0
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "void FUN_000e6b90(int param_1)\n\n{\n  undefined4 uVar1;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  FUN_000df7d0(param_1 + 4);\n  *(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  *(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */\n  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  *(undefined4 *)(param_1 + 0x5a94) = uVar1;\n  *(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  *(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  FUN_0016b4f0(param_1 + 0x5aa0);\n  *(undefined4 *)(param_1 + 0x5b6c) = 0;\n  *(undefined4 *)(param_1 + 0x5b70) = 0;\n  *(undefined4 *)(param_1 + 0x5b74) = 0;\n  *(undefined2 *)(param_1 + 0x5b78) = 0;\n  *(undefined4 *)(param_1 + 0x5b7c) = 0;\n  return;\n}\n\n" (function_definition "void FUN_000e6b90(int param_1)\n\n{\n  undefined4 uVar1;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  FUN_000df7d0(param_1 + 4);\n  *(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  *(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */\n  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  *(undefined4 *)(param_1 + 0x5a94) = uVar1;\n  *(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  *(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  FUN_0016b4f0(param_1 + 0x5aa0);\n  *(undefined4 *)(param_1 + 0x5b6c) = 0;\n  *(undefined4 *)(param_1 + 0x5b70) = 0;\n  *(undefined4 *)(param_1 + 0x5b74) = 0;\n  *(undefined2 *)(param_1 + 0x5b78) = 0;\n  *(undefined4 *)(param_1 + 0x5b7c) = 0;\n  return;\n}" primitive_type (function_declarator "FUN_000e6b90(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  FUN_000df7d0(param_1 + 4);\n  *(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  *(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */\n  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  *(undefined4 *)(param_1 + 0x5a94) = uVar1;\n  *(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  *(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  FUN_0016b4f0(param_1 + 0x5aa0);\n  *(undefined4 *)(param_1 + 0x5b6c) = 0;\n  *(undefined4 *)(param_1 + 0x5b70) = 0;\n  *(undefined4 *)(param_1 + 0x5b74) = 0;\n  *(undefined2 *)(param_1 + 0x5b78) = 0;\n  *(undefined4 *)(param_1 + 0x5b7c) = 0;\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_000559ee();" (call_expression "FUN_000559ee()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;" (assignment_expression "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1" (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" * (cast_expression "(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" ( (binary_expression "(int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002ae650.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ae650.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002ae650.data_loc" & (field_expression "fde_table_entry_002ae650.data_loc" identifier . field_identifier))) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000df7d0(param_1 + 4);" (call_expression "FUN_000df7d0(param_1 + 4)" identifier (argument_list "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);" (assignment_expression "*(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" (pointer_expression "*(undefined1 *)(param_1 + 0x5a90)" * (cast_expression "(undefined1 *)(param_1 + 0x5a90)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a90)" ( (binary_expression "param_1 + 0x5a90" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" * (cast_expression "(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" ( (binary_expression "(int)&fde_table_entry_002a8c58.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8c58.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002a8c58.data_loc" & (field_expression "fde_table_entry_002a8c58.data_loc" identifier . field_identifier))) + identifier) ))))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);" (assignment_expression "*(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" (pointer_expression "*(undefined1 *)(param_1 + 0x5a91)" * (cast_expression "(undefined1 *)(param_1 + 0x5a91)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a91)" ( (binary_expression "param_1 + 0x5a91" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" * (cast_expression "(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" ( (binary_expression "(int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8eb0.initial_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002a8eb0.initial_loc" & (field_expression "fde_table_entry_002a8eb0.initial_loc" identifier . field_identifier))) + identifier) ))))) ;) comment (expression_statement "uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));" (assignment_expression "uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" identifier = (call_expression "FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" identifier (argument_list "(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" ( (pointer_expression "*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" * (cast_expression "(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" ( (binary_expression "(int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002a8d18.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8d18.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002a8d18.data_loc" & (field_expression "fde_table_entry_002a8d18.data_loc" identifier . field_identifier))) + identifier) + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5a94) = uVar1;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a94) = uVar1" (pointer_expression "*(undefined4 *)(param_1 + 0x5a94)" * (cast_expression "(undefined4 *)(param_1 + 0x5a94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a94)" ( (binary_expression "param_1 + 0x5a94" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);" (assignment_expression "*(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" (pointer_expression "*(undefined1 *)(param_1 + 0x5a98)" * (cast_expression "(undefined1 *)(param_1 + 0x5a98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a98)" ( (binary_expression "param_1 + 0x5a98" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" * (cast_expression "(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" ( (binary_expression "(int)&fde_table_entry_002ad390.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ad390.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002ad390.data_loc" & (field_expression "fde_table_entry_002ad390.data_loc" identifier . field_identifier))) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);" (assignment_expression "*(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" (pointer_expression "*(undefined4 *)(param_1 + 0x5a9c)" * (cast_expression "(undefined4 *)(param_1 + 0x5a9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a9c)" ( (binary_expression "param_1 + 0x5a9c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" * (cast_expression "(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" ( (binary_expression "(int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002ae378.initial_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ae378.initial_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002ae378.initial_loc" & (field_expression "fde_table_entry_002ae378.initial_loc" identifier . field_identifier))) + identifier) + number_literal) ))))) ;) (expression_statement "FUN_0016b4f0(param_1 + 0x5aa0);" (call_expression "FUN_0016b4f0(param_1 + 0x5aa0)" identifier (argument_list "(param_1 + 0x5aa0)" ( (binary_expression "param_1 + 0x5aa0" identifier + number_literal) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5b6c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b6c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b6c)" * (cast_expression "(undefined4 *)(param_1 + 0x5b6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b6c)" ( (binary_expression "param_1 + 0x5b6c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5b70) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b70) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b70)" * (cast_expression "(undefined4 *)(param_1 + 0x5b70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b70)" ( (binary_expression "param_1 + 0x5b70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5b74) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b74) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b74)" * (cast_expression "(undefined4 *)(param_1 + 0x5b74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b74)" ( (binary_expression "param_1 + 0x5b74" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(param_1 + 0x5b78) = 0;" (assignment_expression "*(undefined2 *)(param_1 + 0x5b78) = 0" (pointer_expression "*(undefined2 *)(param_1 + 0x5b78)" * (cast_expression "(undefined2 *)(param_1 + 0x5b78)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b78)" ( (binary_expression "param_1 + 0x5b78" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5b7c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b7c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b7c)" * (cast_expression "(undefined4 *)(param_1 + 0x5b7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b7c)" ( (binary_expression "param_1 + 0x5b7c" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void Command_line(Command_line * this) */\n\nvoid __thiscall gold::Command_line::Command_line(Command_line *this)\n\n{\n  Object_format OVar1;\n  int unaff_EDI;\n  \n  __x86_get_pc_thunk_di();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  General_options::General_options(&this->options_);\n  (this->position_options_).as_needed_ =\n       *(bool *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  (this->position_options_).Bdynamic_ =\n       *(bool *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */\n  OVar1 = General_options::string_to_object_format\n                    (*(char **)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  (this->position_options_).format_enum_ = OVar1;\n  (this->position_options_).whole_archive_ =\n       *(bool *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  (this->position_options_).incremental_disposition_ =\n       *(Incremental_disposition *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  Script_options::Script_options(&this->script_options_);\n  (this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl._M_start =\n       (pointer)0x0;\n  (this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl._M_finish\n       = (pointer)0x0;\n  (this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->inputs_).in_group_ = false;\n  (this->inputs_).in_lib_ = false;\n  (this->inputs_).file_count_ = 0;\n  return;\n}\n\n" comment comment (function_definition "void __thiscall gold::Command_line::Command_line(Command_line *this)\n\n{\n  Object_format OVar1;\n  int unaff_EDI;\n  \n  __x86_get_pc_thunk_di();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  General_options::General_options(&this->options_);\n  (this->position_options_).as_needed_ =\n       *(bool *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  (this->position_options_).Bdynamic_ =\n       *(bool *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */\n  OVar1 = General_options::string_to_object_format\n                    (*(char **)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  (this->position_options_).format_enum_ = OVar1;\n  (this->position_options_).whole_archive_ =\n       *(bool *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  (this->position_options_).incremental_disposition_ =\n       *(Incremental_disposition *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  Script_options::Script_options(&this->script_options_);\n  (this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl._M_start =\n       (pointer)0x0;\n  (this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl._M_finish\n       = (pointer)0x0;\n  (this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->inputs_).in_group_ = false;\n  (this->inputs_).in_lib_ = false;\n  (this->inputs_).file_count_ = 0;\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Command_line::" identifier : : identifier : :) (function_declarator "Command_line(Command_line *this)" identifier (parameter_list "(Command_line *this)" ( (parameter_declaration "Command_line *this" type_identifier (pointer_declarator "*this" * identifier)) ))) (compound_statement "{\n  Object_format OVar1;\n  int unaff_EDI;\n  \n  __x86_get_pc_thunk_di();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  General_options::General_options(&this->options_);\n  (this->position_options_).as_needed_ =\n       *(bool *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  (this->position_options_).Bdynamic_ =\n       *(bool *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */\n  OVar1 = General_options::string_to_object_format\n                    (*(char **)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  (this->position_options_).format_enum_ = OVar1;\n  (this->position_options_).whole_archive_ =\n       *(bool *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  (this->position_options_).incremental_disposition_ =\n       *(Incremental_disposition *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  Script_options::Script_options(&this->script_options_);\n  (this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl._M_start =\n       (pointer)0x0;\n  (this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl._M_finish\n       = (pointer)0x0;\n  (this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::Input_argument>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;\n  (this->inputs_).in_group_ = false;\n  (this->inputs_).in_lib_ = false;\n  (this->inputs_).file_count_ = 0;\n  return;\n}" { (declaration "Object_format OVar1;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "__x86_get_pc_thunk_di();" (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;" (assignment_expression "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1" (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" * (cast_expression "(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" ( (binary_expression "(int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002ae650.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ae650.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002ae650.data_loc" & (field_expression "fde_table_entry_002ae650.data_loc" identifier . field_identifier))) + identifier) + number_literal) )))) = number_literal) ;) (labeled_statement "General_options::General_options(&this->options_);" statement_identifier : (ERROR ":" :) (expression_statement "General_options(&this->options_);" (call_expression "General_options(&this->options_)" identifier (argument_list "(&this->options_)" ( (pointer_expression "&this->options_" & (field_expression "this->options_" identifier -> field_identifier)) ))) ;)) (expression_statement "(this->position_options_).as_needed_ =\n       *(bool *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);" (assignment_expression "(this->position_options_).as_needed_ =\n       *(bool *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" (field_expression "(this->position_options_).as_needed_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*(bool *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" * (cast_expression "(bool *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" ( (binary_expression "(int)&fde_table_entry_002a8c58.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8c58.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002a8c58.data_loc" & (field_expression "fde_table_entry_002a8c58.data_loc" identifier . field_identifier))) + identifier) ))))) ;) (expression_statement "(this->position_options_).Bdynamic_ =\n       *(bool *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);" (assignment_expression "(this->position_options_).Bdynamic_ =\n       *(bool *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" (field_expression "(this->position_options_).Bdynamic_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*(bool *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" * (cast_expression "(bool *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" ( (binary_expression "(int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8eb0.initial_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002a8eb0.initial_loc" & (field_expression "fde_table_entry_002a8eb0.initial_loc" identifier . field_identifier))) + identifier) ))))) ;) comment (ERROR "OVar1 = General_options::" (assignment_expression "OVar1 = General_options" identifier = identifier) : :) (expression_statement "string_to_object_format\n                    (*(char **)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));" (call_expression "string_to_object_format\n                    (*(char **)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" identifier (argument_list "(*(char **)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" ( (pointer_expression "*(char **)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" * (cast_expression "(char **)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" ( (binary_expression "(int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002a8d18.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8d18.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002a8d18.data_loc" & (field_expression "fde_table_entry_002a8d18.data_loc" identifier . field_identifier))) + identifier) + number_literal) )))) ))) ;) (expression_statement "(this->position_options_).format_enum_ = OVar1;" (assignment_expression "(this->position_options_).format_enum_ = OVar1" (field_expression "(this->position_options_).format_enum_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(this->position_options_).whole_archive_ =\n       *(bool *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);" (assignment_expression "(this->position_options_).whole_archive_ =\n       *(bool *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" (field_expression "(this->position_options_).whole_archive_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*(bool *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" * (cast_expression "(bool *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" ( (binary_expression "(int)&fde_table_entry_002ad390.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ad390.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002ad390.data_loc" & (field_expression "fde_table_entry_002ad390.data_loc" identifier . field_identifier))) + identifier) ))))) ;) (expression_statement "(this->position_options_).incremental_disposition_ =\n       *(Incremental_disposition *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);" (assignment_expression "(this->position_options_).incremental_disposition_ =\n       *(Incremental_disposition *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" (field_expression "(this->position_options_).incremental_disposition_" (parenthesized_expression "(this->position_options_)" ( (field_expression "this->position_options_" identifier -> field_identifier) )) . field_identifier) = (pointer_expression "*(Incremental_disposition *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" * (cast_expression "(Incremental_disposition *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" ( (type_descriptor "Incremental_disposition *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" ( (binary_expression "(int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002ae378.initial_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ae378.initial_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002ae378.initial_loc" & (field_expression "fde_table_entry_002ae378.initial_loc" identifier . field_identifier))) + identifier) + number_literal) ))))) ;) (labeled_statement "Script_options::Script_options(&this->script_options_);" statement_identifier : (ERROR ":" :) (expression_statement "Script_options(&this->script_options_);" (call_expression "Script_options(&this->script_options_)" identifier (argument_list "(&this->script_options_)" ( (pointer_expression "&this->script_options_" & (field_expression "this->script_options_" identifier -> field_identifier)) ))) ;)) (ERROR "(this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "(this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std" (binary_expression "(this->inputs_).input_argument_list_.\n  super__Vector_base<gold" (field_expression "(this->inputs_).input_argument_list_.\n  super__Vector_base" (field_expression "(this->inputs_).input_argument_list_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Input_argument>_>._M_impl._M_start =\n       (pointer)0x0;" (assignment_expression "Input_argument>_>._M_impl._M_start =\n       (pointer)0x0" (field_expression "Input_argument>_>._M_impl._M_start" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "(this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std" (binary_expression "(this->inputs_).input_argument_list_.\n  super__Vector_base<gold" (field_expression "(this->inputs_).input_argument_list_.\n  super__Vector_base" (field_expression "(this->inputs_).input_argument_list_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Input_argument>_>._M_impl._M_finish\n       = (pointer)0x0;" (assignment_expression "Input_argument>_>._M_impl._M_finish\n       = (pointer)0x0" (field_expression "Input_argument>_>._M_impl._M_finish" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "(this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std::allocator<gold::" (comma_expression "(this->inputs_).input_argument_list_.\n  super__Vector_base<gold::Input_argument,_std" (binary_expression "(this->inputs_).input_argument_list_.\n  super__Vector_base<gold" (field_expression "(this->inputs_).input_argument_list_.\n  super__Vector_base" (field_expression "(this->inputs_).input_argument_list_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) (ERROR "::Input_argument" : : identifier) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Input_argument>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0;" (assignment_expression "Input_argument>_>._M_impl.\n  _M_end_of_storage = (pointer)0x0" (field_expression "Input_argument>_>._M_impl.\n  _M_end_of_storage" (field_expression "Input_argument>_>._M_impl" (binary_expression "Input_argument>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this->inputs_).in_group_ = false;" (assignment_expression "(this->inputs_).in_group_ = false" (field_expression "(this->inputs_).in_group_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "(this->inputs_).in_lib_ = false;" (assignment_expression "(this->inputs_).in_lib_ = false" (field_expression "(this->inputs_).in_lib_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "(this->inputs_).file_count_ = 0;" (assignment_expression "(this->inputs_).file_count_ = 0" (field_expression "(this->inputs_).file_count_" (parenthesized_expression "(this->inputs_)" ( (field_expression "this->inputs_" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000e6b90(int param_1)\n\n{\n  undefined4 uVar1;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  FUN_000df7d0(param_1 + 4);\n  *(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  *(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    \n  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  *(undefined4 *)(param_1 + 0x5a94) = uVar1;\n  *(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  *(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  FUN_0016b4f0(param_1 + 0x5aa0);\n  *(undefined4 *)(param_1 + 0x5b6c) = 0;\n  *(undefined4 *)(param_1 + 0x5b70) = 0;\n  *(undefined4 *)(param_1 + 0x5b74) = 0;\n  *(undefined2 *)(param_1 + 0x5b78) = 0;\n  *(undefined4 *)(param_1 + 0x5b7c) = 0;\n  return;\n}\n\n" (function_definition "void FUN_000e6b90(int param_1)\n\n{\n  undefined4 uVar1;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  FUN_000df7d0(param_1 + 4);\n  *(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  *(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    \n  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  *(undefined4 *)(param_1 + 0x5a94) = uVar1;\n  *(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  *(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  FUN_0016b4f0(param_1 + 0x5aa0);\n  *(undefined4 *)(param_1 + 0x5b6c) = 0;\n  *(undefined4 *)(param_1 + 0x5b70) = 0;\n  *(undefined4 *)(param_1 + 0x5b74) = 0;\n  *(undefined2 *)(param_1 + 0x5b78) = 0;\n  *(undefined4 *)(param_1 + 0x5b7c) = 0;\n  return;\n}" primitive_type (function_declarator "FUN_000e6b90(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  FUN_000df7d0(param_1 + 4);\n  *(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  *(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    \n  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  *(undefined4 *)(param_1 + 0x5a94) = uVar1;\n  *(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  *(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  FUN_0016b4f0(param_1 + 0x5aa0);\n  *(undefined4 *)(param_1 + 0x5b6c) = 0;\n  *(undefined4 *)(param_1 + 0x5b70) = 0;\n  *(undefined4 *)(param_1 + 0x5b74) = 0;\n  *(undefined2 *)(param_1 + 0x5b78) = 0;\n  *(undefined4 *)(param_1 + 0x5b7c) = 0;\n  return;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_000559ee();" (call_expression "FUN_000559ee()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;" (assignment_expression "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1" (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" * (cast_expression "(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" ( (binary_expression "(int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002ae650.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ae650.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002ae650.data_loc" & (field_expression "fde_table_entry_002ae650.data_loc" identifier . field_identifier))) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000df7d0(param_1 + 4);" (call_expression "FUN_000df7d0(param_1 + 4)" identifier (argument_list "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);" (assignment_expression "*(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" (pointer_expression "*(undefined1 *)(param_1 + 0x5a90)" * (cast_expression "(undefined1 *)(param_1 + 0x5a90)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a90)" ( (binary_expression "param_1 + 0x5a90" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" * (cast_expression "(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" ( (binary_expression "(int)&fde_table_entry_002a8c58.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8c58.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002a8c58.data_loc" & (field_expression "fde_table_entry_002a8c58.data_loc" identifier . field_identifier))) + identifier) ))))) ;) (expression_statement "*(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);" (assignment_expression "*(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" (pointer_expression "*(undefined1 *)(param_1 + 0x5a91)" * (cast_expression "(undefined1 *)(param_1 + 0x5a91)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a91)" ( (binary_expression "param_1 + 0x5a91" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" * (cast_expression "(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" ( (binary_expression "(int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8eb0.initial_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002a8eb0.initial_loc" & (field_expression "fde_table_entry_002a8eb0.initial_loc" identifier . field_identifier))) + identifier) ))))) ;) (expression_statement "uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));" (assignment_expression "uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" identifier = (call_expression "FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" identifier (argument_list "(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" ( (pointer_expression "*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" * (cast_expression "(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" ( (binary_expression "(int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002a8d18.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8d18.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002a8d18.data_loc" & (field_expression "fde_table_entry_002a8d18.data_loc" identifier . field_identifier))) + identifier) + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5a94) = uVar1;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a94) = uVar1" (pointer_expression "*(undefined4 *)(param_1 + 0x5a94)" * (cast_expression "(undefined4 *)(param_1 + 0x5a94)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a94)" ( (binary_expression "param_1 + 0x5a94" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);" (assignment_expression "*(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" (pointer_expression "*(undefined1 *)(param_1 + 0x5a98)" * (cast_expression "(undefined1 *)(param_1 + 0x5a98)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a98)" ( (binary_expression "param_1 + 0x5a98" identifier + number_literal) )))) = (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" * (cast_expression "(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" ( (binary_expression "(int)&fde_table_entry_002ad390.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ad390.data_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002ad390.data_loc" & (field_expression "fde_table_entry_002ad390.data_loc" identifier . field_identifier))) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);" (assignment_expression "*(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" (pointer_expression "*(undefined4 *)(param_1 + 0x5a9c)" * (cast_expression "(undefined4 *)(param_1 + 0x5a9c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5a9c)" ( (binary_expression "param_1 + 0x5a9c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" * (cast_expression "(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" ( (binary_expression "(int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002ae378.initial_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ae378.initial_loc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&fde_table_entry_002ae378.initial_loc" & (field_expression "fde_table_entry_002ae378.initial_loc" identifier . field_identifier))) + identifier) + number_literal) ))))) ;) (expression_statement "FUN_0016b4f0(param_1 + 0x5aa0);" (call_expression "FUN_0016b4f0(param_1 + 0x5aa0)" identifier (argument_list "(param_1 + 0x5aa0)" ( (binary_expression "param_1 + 0x5aa0" identifier + number_literal) ))) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5b6c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b6c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b6c)" * (cast_expression "(undefined4 *)(param_1 + 0x5b6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b6c)" ( (binary_expression "param_1 + 0x5b6c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5b70) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b70) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b70)" * (cast_expression "(undefined4 *)(param_1 + 0x5b70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b70)" ( (binary_expression "param_1 + 0x5b70" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5b74) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b74) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b74)" * (cast_expression "(undefined4 *)(param_1 + 0x5b74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b74)" ( (binary_expression "param_1 + 0x5b74" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined2 *)(param_1 + 0x5b78) = 0;" (assignment_expression "*(undefined2 *)(param_1 + 0x5b78) = 0" (pointer_expression "*(undefined2 *)(param_1 + 0x5b78)" * (cast_expression "(undefined2 *)(param_1 + 0x5b78)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b78)" ( (binary_expression "param_1 + 0x5b78" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(param_1 + 0x5b7c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b7c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b7c)" * (cast_expression "(undefined4 *)(param_1 + 0x5b7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x5b7c)" ( (binary_expression "param_1 + 0x5b7c" identifier + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT . field_identifier))) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT . field_identifier))) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT . field_identifier))) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT . field_identifier))) + IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT . field_identifier))) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT . field_identifier))) + IDENT) + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (return_statement return ;) })))
(function_definition "void FUN_000e6b90(int param_1)\n\n{\n  undefined4 uVar1;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  FUN_000df7d0(param_1 + 4);\n  *(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  *(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    \n  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  *(undefined4 *)(param_1 + 0x5a94) = uVar1;\n  *(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  *(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  FUN_0016b4f0(param_1 + 0x5aa0);\n  *(undefined4 *)(param_1 + 0x5b6c) = 0;\n  *(undefined4 *)(param_1 + 0x5b70) = 0;\n  *(undefined4 *)(param_1 + 0x5b74) = 0;\n  *(undefined2 *)(param_1 + 0x5b78) = 0;\n  *(undefined4 *)(param_1 + 0x5b7c) = 0;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000e6b90(int param_1)" (identifier "FUN_000e6b90") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined4 uVar1;\n  int unaff_EDI;\n  \n  FUN_000559ee();\n  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;\n  FUN_000df7d0(param_1 + 4);\n  *(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);\n  *(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);\n                    \n  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));\n  *(undefined4 *)(param_1 + 0x5a94) = uVar1;\n  *(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);\n  *(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);\n  FUN_0016b4f0(param_1 + 0x5aa0);\n  *(undefined4 *)(param_1 + 0x5b6c) = 0;\n  *(undefined4 *)(param_1 + 0x5b70) = 0;\n  *(undefined4 *)(param_1 + 0x5b74) = 0;\n  *(undefined2 *)(param_1 + 0x5b78) = 0;\n  *(undefined4 *)(param_1 + 0x5b7c) = 0;\n  return;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (expression_statement "FUN_000559ee();" (call_expression "FUN_000559ee()" (identifier "FUN_000559ee") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;" (assignment_expression "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1" (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" (* "*") (cast_expression "(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3)" (( "(") (binary_expression "(int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002ae650.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ae650.data_loc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&fde_table_entry_002ae650.data_loc" (& "&") (field_expression "fde_table_entry_002ae650.data_loc" (identifier "fde_table_entry_002ae650") (. ".") (field_identifier "data_loc")))) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "3")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_000df7d0(param_1 + 4);" (call_expression "FUN_000df7d0(param_1 + 4)" (identifier "FUN_000df7d0") (argument_list "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);" (assignment_expression "*(undefined1 *)(param_1 + 0x5a90) =\n       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" (pointer_expression "*(undefined1 *)(param_1 + 0x5a90)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x5a90)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a90)" (( "(") (binary_expression "param_1 + 0x5a90" (identifier "param_1") (+ "+") (number_literal "0x5a90")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" (* "*") (cast_expression "(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI)" (( "(") (binary_expression "(int)&fde_table_entry_002a8c58.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8c58.data_loc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&fde_table_entry_002a8c58.data_loc" (& "&") (field_expression "fde_table_entry_002a8c58.data_loc" (identifier "fde_table_entry_002a8c58") (. ".") (field_identifier "data_loc")))) (+ "+") (identifier "unaff_EDI")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);" (assignment_expression "*(undefined1 *)(param_1 + 0x5a91) =\n       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" (pointer_expression "*(undefined1 *)(param_1 + 0x5a91)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x5a91)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a91)" (( "(") (binary_expression "param_1 + 0x5a91" (identifier "param_1") (+ "+") (number_literal "0x5a91")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" (* "*") (cast_expression "(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI)" (( "(") (binary_expression "(int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8eb0.initial_loc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&fde_table_entry_002a8eb0.initial_loc" (& "&") (field_expression "fde_table_entry_002a8eb0.initial_loc" (identifier "fde_table_entry_002a8eb0") (. ".") (field_identifier "initial_loc")))) (+ "+") (identifier "unaff_EDI")) () ")"))))) (; ";")) (expression_statement "uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));" (assignment_expression "uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" (identifier "uVar1") (= "=") (call_expression "FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" (identifier "FUN_000dd760") (argument_list "(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3))" (( "(") (pointer_expression "*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" (* "*") (cast_expression "(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3)" (( "(") (binary_expression "(int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002a8d18.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002a8d18.data_loc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&fde_table_entry_002a8d18.data_loc" (& "&") (field_expression "fde_table_entry_002a8d18.data_loc" (identifier "fde_table_entry_002a8d18") (. ".") (field_identifier "data_loc")))) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "3")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x5a94) = uVar1;" (assignment_expression "*(undefined4 *)(param_1 + 0x5a94) = uVar1" (pointer_expression "*(undefined4 *)(param_1 + 0x5a94)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5a94)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a94)" (( "(") (binary_expression "param_1 + 0x5a94" (identifier "param_1") (+ "+") (number_literal "0x5a94")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "*(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);" (assignment_expression "*(undefined1 *)(param_1 + 0x5a98) =\n       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" (pointer_expression "*(undefined1 *)(param_1 + 0x5a98)" (* "*") (cast_expression "(undefined1 *)(param_1 + 0x5a98)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a98)" (( "(") (binary_expression "param_1 + 0x5a98" (identifier "param_1") (+ "+") (number_literal "0x5a98")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" (* "*") (cast_expression "(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&fde_table_entry_002ad390.data_loc + unaff_EDI)" (( "(") (binary_expression "(int)&fde_table_entry_002ad390.data_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ad390.data_loc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&fde_table_entry_002ad390.data_loc" (& "&") (field_expression "fde_table_entry_002ad390.data_loc" (identifier "fde_table_entry_002ad390") (. ".") (field_identifier "data_loc")))) (+ "+") (identifier "unaff_EDI")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);" (assignment_expression "*(undefined4 *)(param_1 + 0x5a9c) =\n       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" (pointer_expression "*(undefined4 *)(param_1 + 0x5a9c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5a9c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5a9c)" (( "(") (binary_expression "param_1 + 0x5a9c" (identifier "param_1") (+ "+") (number_literal "0x5a9c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" (* "*") (cast_expression "(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3)" (( "(") (binary_expression "(int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3" (binary_expression "(int)&fde_table_entry_002ae378.initial_loc + unaff_EDI" (cast_expression "(int)&fde_table_entry_002ae378.initial_loc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&fde_table_entry_002ae378.initial_loc" (& "&") (field_expression "fde_table_entry_002ae378.initial_loc" (identifier "fde_table_entry_002ae378") (. ".") (field_identifier "initial_loc")))) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "3")) () ")"))))) (; ";")) (expression_statement "FUN_0016b4f0(param_1 + 0x5aa0);" (call_expression "FUN_0016b4f0(param_1 + 0x5aa0)" (identifier "FUN_0016b4f0") (argument_list "(param_1 + 0x5aa0)" (( "(") (binary_expression "param_1 + 0x5aa0" (identifier "param_1") (+ "+") (number_literal "0x5aa0")) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x5b6c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b6c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b6c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5b6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5b6c)" (( "(") (binary_expression "param_1 + 0x5b6c" (identifier "param_1") (+ "+") (number_literal "0x5b6c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x5b70) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b70) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b70)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5b70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5b70)" (( "(") (binary_expression "param_1 + 0x5b70" (identifier "param_1") (+ "+") (number_literal "0x5b70")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x5b74) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b74) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b74)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5b74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5b74)" (( "(") (binary_expression "param_1 + 0x5b74" (identifier "param_1") (+ "+") (number_literal "0x5b74")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined2 *)(param_1 + 0x5b78) = 0;" (assignment_expression "*(undefined2 *)(param_1 + 0x5b78) = 0" (pointer_expression "*(undefined2 *)(param_1 + 0x5b78)" (* "*") (cast_expression "(undefined2 *)(param_1 + 0x5b78)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5b78)" (( "(") (binary_expression "param_1 + 0x5b78" (identifier "param_1") (+ "+") (number_literal "0x5b78")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(param_1 + 0x5b7c) = 0;" (assignment_expression "*(undefined4 *)(param_1 + 0x5b7c) = 0" (pointer_expression "*(undefined4 *)(param_1 + 0x5b7c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x5b7c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x5b7c)" (( "(") (binary_expression "param_1 + 0x5b7c" (identifier "param_1") (+ "+") (number_literal "0x5b7c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void Command_line(Command_line * this) */

void __thiscall gold::function_1::function_1(function_1 *this)

{
  type_1 OVar1;
  int var_2;
  
  var_1();
  *(type_2 *)((int)&fde_table_entry_002ae650.data_loc + var_2 + 3) = 1;
  General_options::var_3(&this->options_);
  (this->position_options_).as_needed_ =
       *(bool *)((int)&fde_table_entry_002a8c58.data_loc + var_2);
  (this->position_options_).Bdynamic_ =
       *(bool *)((int)&fde_table_entry_002a8eb0.initial_loc + var_2);
                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */
  OVar1 = var_3::var_4
                    (*(char **)((int)&fde_table_entry_002a8d18.data_loc + var_2 + 3));
  (this->position_options_).format_enum_ = OVar1;
  (this->position_options_).whole_archive_ =
       *(bool *)((int)&fde_table_entry_002ad390.data_loc + var_2);
  (this->position_options_).incremental_disposition_ =
       *(type_3 *)((int)&fde_table_entry_002ae378.initial_loc + var_2 + 3);
  Script_options::var_5(&this->script_options_);
  (this->inputs_).input_argument_list_.
  super__Vector_base<gold::var_6,_std::allocator<gold::var_6>var_7>._M_impl._M_start =
       (type_4)0x0;
  (this->inputs_).input_argument_list_.
  super__Vector_base<gold::var_6,_std::allocator<gold::var_6>var_7>._M_impl._M_finish
       = (type_4)0x0;
  (this->inputs_).input_argument_list_.
  super__Vector_base<gold::var_6,_std::allocator<gold::var_6>var_7>._M_impl.
  _M_end_of_storage = (type_4)0x0;
  (this->inputs_).in_group_ = false;
  (this->inputs_).in_lib_ = false;
  (this->inputs_).file_count_ = 0;
  return;
}


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

void MASKED(int param_1)

{
  undefined4 uVar1;
  int unaff_EDI;
  
  FUN_000559ee();
  *(undefined1 *)((int)&fde_table_entry_002ae650.data_loc + unaff_EDI + 3) = 1;
  FUN_000df7d0(param_1 + 4);
  *(undefined1 *)(param_1 + 0x5a90) =
       *(undefined1 *)((int)&fde_table_entry_002a8c58.data_loc + unaff_EDI);
  *(undefined1 *)(param_1 + 0x5a91) =
       *(undefined1 *)((int)&fde_table_entry_002a8eb0.initial_loc + unaff_EDI);
                    /* try { // try from 000e6bdb to 000e6c0e has its CatchHandler @ 000e6c4b */
  uVar1 = FUN_000dd760(*(undefined4 *)((int)&fde_table_entry_002a8d18.data_loc + unaff_EDI + 3));
  *(undefined4 *)(param_1 + 0x5a94) = uVar1;
  *(undefined1 *)(param_1 + 0x5a98) =
       *(undefined1 *)((int)&fde_table_entry_002ad390.data_loc + unaff_EDI);
  *(undefined4 *)(param_1 + 0x5a9c) =
       *(undefined4 *)((int)&fde_table_entry_002ae378.initial_loc + unaff_EDI + 3);
  FUN_0016b4f0(param_1 + 0x5aa0);
  *(undefined4 *)(param_1 + 0x5b6c) = 0;
  *(undefined4 *)(param_1 + 0x5b70) = 0;
  *(undefined4 *)(param_1 + 0x5b74) = 0;
  *(undefined2 *)(param_1 + 0x5b78) = 0;
  *(undefined4 *)(param_1 + 0x5b7c) = 0;
  return;
}

