
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Output_data_plt_x86_64<32> * do_make_data_plt(Target_x86_64_nacl<32> *
   this, Layout * layout, Output_data_got<64,_false> * got, Output_data_got_plt_x86_64 * got_plt,
   Output_data_space * got_irelative) */

Output_data_plt_x86_64<32> * __thiscall
anon_unknown.dwarf_32964f::Target_x86_64_nacl<32>::do_make_data_plt
          (Target_x86_64_nacl<32> *this,Layout *layout,Output_data_got<64,_false> *got,
          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative)

{
  Free_list *pFVar1;
  Output_data_plt_x86_64<32> *pOVar2;
  int unaff_EDI;
  Output_data_plt_x86_64<32> *in_stack_ffffffd4;
  EVP_PKEY_CTX *in_stack_ffffffd8;
  
  __x86_get_pc_thunk_di();
  pOVar2 = (Output_data_plt_x86_64<32> *)operator_new(0x74);
  *(undefined4 *)&pOVar2->field_0x4 = 0;
  *(undefined4 *)&pOVar2->field_0x8 = 0;
  pFVar1 = &pOVar2->free_list_;
  *(undefined4 *)&pOVar2->field_0xc = 0;
  *(undefined4 *)&pOVar2->field_0x10 = 0;
  *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;
  *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;
  pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;
  *(undefined4 *)&pOVar2->field_0x20 = 0;
  *(undefined4 *)&pOVar2->field_0x24 = 0x40;
  *(undefined4 *)&pOVar2->field_0x28 = 0;
  pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x2dba21;
  pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;
  pOVar2->got_ = got;
  pOVar2->irelative_rel_ = (Reloc_section *)0x0;
  pOVar2->got_plt_ = got_plt;
  pOVar2->count_ = 0;
  pOVar2->got_irelative_ = got_irelative;
  pOVar2->irelative_count_ = 0;
  pOVar2->tlsdesc_got_offset_ = 0xffffffff;
  (pOVar2->free_list_).list_.
  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;
  (pOVar2->free_list_).list_.
  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;
  (pOVar2->free_list_).list_.
  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>
  ._M_impl._M_node._M_size = 0;
  (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;
  (pOVar2->free_list_).extend_ = false;
  *(undefined4 *)&(pOVar2->free_list_).length_ = 0;
  *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;
  *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;
  *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0005daed to 0005daf1 has its CatchHandler @ 0005db04 */
  Output_data_plt_x86_64<32>::init(in_stack_ffffffd4,in_stack_ffffffd8);
  pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x2db525;
  return pOVar2;
}



int * FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)

{
  int *piVar1;
  int *piVar2;
  int unaff_EDI;
  
  FUN_00058c4a();
  piVar2 = (int *)FUN_001aa8c0(0x74);
  piVar2[1] = 0;
  piVar2[2] = 0;
  piVar1 = piVar2 + 0x14;
  piVar2[3] = 0;
  piVar2[4] = 0;
  piVar2[5] = -1;
  piVar2[6] = -1;
  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;
  piVar2[8] = 0;
  piVar2[9] = 0x40;
  piVar2[10] = 0;
  *piVar2 = unaff_EDI + 0x2dba21;
  piVar2[0xc] = 0;
  piVar2[0xe] = param_3;
  piVar2[0xd] = 0;
  piVar2[0xf] = param_4;
  piVar2[0x11] = 0;
  piVar2[0x10] = param_5;
  piVar2[0x12] = 0;
  piVar2[0x13] = -1;
  piVar2[0x15] = (int)piVar1;
  piVar2[0x14] = (int)piVar1;
  piVar2[0x16] = 0;
  piVar2[0x17] = (int)piVar1;
  *(undefined1 *)(piVar2 + 0x18) = 0;
  piVar2[0x19] = 0;
  piVar2[0x1a] = 0;
  piVar2[0x1b] = 0;
  piVar2[0x1c] = 0;
                    /* try { // try from 0005daed to 0005daf1 has its CatchHandler @ 0005db04 */
  FUN_0005d940();
  *piVar2 = unaff_EDI + 0x2db525;
  return piVar2;
}


PUSH EBP
PUSH EDI
CALL 0x00058c4a
ADD EDI,0x2e15e9
PUSH ESI
PUSH EBX
SUB ESP,0x28
PUSH 0x74
MOV EBX,EDI
CALL 0x001aa8c0
MOV ESI,EAX
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX + 0x8],0x0
LEA EBP,[ESI + 0x50]
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x14],0xffffffff
MOV dword ptr [EAX + 0x18],0xffffffff
AND byte ptr [EAX + 0x1c],0xe0
MOV dword ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],0x40
MOV dword ptr [EAX + 0x28],0x0
LEA EAX,[EDI + 0xffffa438]
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [ESP + 0x48]
MOV dword ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x38],EAX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x3c],EAX
MOV EAX,dword ptr [ESP + 0x50]
ADD ESP,0x10
MOV dword ptr [ESI + 0x44],0x0
MOV dword ptr [ESI + 0x40],EAX
LEA EAX,[ESI + 0x2c]
MOV dword ptr [ESI + 0x48],0x0
MOV dword ptr [ESI + 0x4c],0xffffffff
MOV dword ptr [ESI + 0x54],EBP
MOV dword ptr [ESI + 0x50],EBP
MOV dword ptr [ESI + 0x58],0x0
MOV dword ptr [ESI + 0x5c],EBP
MOV byte ptr [ESI + 0x60],0x0
MOV dword ptr [ESI + 0x64],0x0
MOV dword ptr [ESI + 0x68],0x0
MOV dword ptr [ESI + 0x6c],0x0
MOV dword ptr [ESI + 0x70],0x0
MOV EDX,dword ptr [ESP + 0x34]
CALL 0x0005d940
LEA EAX,[EDI + 0xffff9f3c]
MOV dword ptr [ESI],EAX
ADD ESP,0x1c
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
(translation_unit "int * FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  piVar2 = (int *)FUN_001aa8c0(0x74);\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar1 = piVar2 + 0x14;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = -1;\n  piVar2[6] = -1;\n  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n  piVar2[8] = 0;\n  piVar2[9] = 0x40;\n  piVar2[10] = 0;\n  *piVar2 = unaff_EDI + 0x2dba21;\n  piVar2[0xc] = 0;\n  piVar2[0xe] = param_3;\n  piVar2[0xd] = 0;\n  piVar2[0xf] = param_4;\n  piVar2[0x11] = 0;\n  piVar2[0x10] = param_5;\n  piVar2[0x12] = 0;\n  piVar2[0x13] = -1;\n  piVar2[0x15] = (int)piVar1;\n  piVar2[0x14] = (int)piVar1;\n  piVar2[0x16] = 0;\n  piVar2[0x17] = (int)piVar1;\n  *(undefined1 *)(piVar2 + 0x18) = 0;\n  piVar2[0x19] = 0;\n  piVar2[0x1a] = 0;\n  piVar2[0x1b] = 0;\n  piVar2[0x1c] = 0;\n                    /* try { // try from 0005daed to 0005daf1 has its CatchHandler @ 0005db04 */\n  FUN_0005d940();\n  *piVar2 = unaff_EDI + 0x2db525;\n  return piVar2;\n}\n\n" (function_definition "int * FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  piVar2 = (int *)FUN_001aa8c0(0x74);\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar1 = piVar2 + 0x14;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = -1;\n  piVar2[6] = -1;\n  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n  piVar2[8] = 0;\n  piVar2[9] = 0x40;\n  piVar2[10] = 0;\n  *piVar2 = unaff_EDI + 0x2dba21;\n  piVar2[0xc] = 0;\n  piVar2[0xe] = param_3;\n  piVar2[0xd] = 0;\n  piVar2[0xf] = param_4;\n  piVar2[0x11] = 0;\n  piVar2[0x10] = param_5;\n  piVar2[0x12] = 0;\n  piVar2[0x13] = -1;\n  piVar2[0x15] = (int)piVar1;\n  piVar2[0x14] = (int)piVar1;\n  piVar2[0x16] = 0;\n  piVar2[0x17] = (int)piVar1;\n  *(undefined1 *)(piVar2 + 0x18) = 0;\n  piVar2[0x19] = 0;\n  piVar2[0x1a] = 0;\n  piVar2[0x1b] = 0;\n  piVar2[0x1c] = 0;\n                    /* try { // try from 0005daed to 0005daf1 has its CatchHandler @ 0005db04 */\n  FUN_0005d940();\n  *piVar2 = unaff_EDI + 0x2db525;\n  return piVar2;\n}" primitive_type (pointer_declarator "* FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)" * (function_declarator "FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) )))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  piVar2 = (int *)FUN_001aa8c0(0x74);\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar1 = piVar2 + 0x14;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = -1;\n  piVar2[6] = -1;\n  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n  piVar2[8] = 0;\n  piVar2[9] = 0x40;\n  piVar2[10] = 0;\n  *piVar2 = unaff_EDI + 0x2dba21;\n  piVar2[0xc] = 0;\n  piVar2[0xe] = param_3;\n  piVar2[0xd] = 0;\n  piVar2[0xf] = param_4;\n  piVar2[0x11] = 0;\n  piVar2[0x10] = param_5;\n  piVar2[0x12] = 0;\n  piVar2[0x13] = -1;\n  piVar2[0x15] = (int)piVar1;\n  piVar2[0x14] = (int)piVar1;\n  piVar2[0x16] = 0;\n  piVar2[0x17] = (int)piVar1;\n  *(undefined1 *)(piVar2 + 0x18) = 0;\n  piVar2[0x19] = 0;\n  piVar2[0x1a] = 0;\n  piVar2[0x1b] = 0;\n  piVar2[0x1c] = 0;\n                    /* try { // try from 0005daed to 0005daf1 has its CatchHandler @ 0005db04 */\n  FUN_0005d940();\n  *piVar2 = unaff_EDI + 0x2db525;\n  return piVar2;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_00058c4a();" (call_expression "FUN_00058c4a()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2 = (int *)FUN_001aa8c0(0x74);" (assignment_expression "piVar2 = (int *)FUN_001aa8c0(0x74)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x74)" identifier (argument_list "(0x74)" ( number_literal ))))) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" identifier = (binary_expression "piVar2 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0x40;" (assignment_expression "piVar2[9] = 0x40" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x2dba21;" (assignment_expression "*piVar2 = unaff_EDI + 0x2dba21" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x2dba21" identifier + number_literal)) ;) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" * (cast_expression "(undefined1 *)(piVar2 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x18)" ( (binary_expression "piVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_0005d940();" (call_expression "FUN_0005d940()" identifier (argument_list "()" ( ))) ;) (expression_statement "*piVar2 = unaff_EDI + 0x2db525;" (assignment_expression "*piVar2 = unaff_EDI + 0x2db525" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x2db525" identifier + number_literal)) ;) (return_statement "return piVar2;" return identifier ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: Output_data_plt_x86_64<32> * do_make_data_plt(Target_x86_64_nacl<32> *\n   this, Layout * layout, Output_data_got<64,_false> * got, Output_data_got_plt_x86_64 * got_plt,\n   Output_data_space * got_irelative) */\n\nOutput_data_plt_x86_64<32> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64_nacl<32>::do_make_data_plt\n          (Target_x86_64_nacl<32> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative)\n\n{\n  Free_list *pFVar1;\n  Output_data_plt_x86_64<32> *pOVar2;\n  int unaff_EDI;\n  Output_data_plt_x86_64<32> *in_stack_ffffffd4;\n  EVP_PKEY_CTX *in_stack_ffffffd8;\n  \n  __x86_get_pc_thunk_di();\n  pOVar2 = (Output_data_plt_x86_64<32> *)operator_new(0x74);\n  *(undefined4 *)&pOVar2->field_0x4 = 0;\n  *(undefined4 *)&pOVar2->field_0x8 = 0;\n  pFVar1 = &pOVar2->free_list_;\n  *(undefined4 *)&pOVar2->field_0xc = 0;\n  *(undefined4 *)&pOVar2->field_0x10 = 0;\n  *(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;\n  *(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;\n  pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;\n  *(undefined4 *)&pOVar2->field_0x20 = 0;\n  *(undefined4 *)&pOVar2->field_0x24 = 0x40;\n  *(undefined4 *)&pOVar2->field_0x28 = 0;\n  pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x2dba21;\n  pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;\n  pOVar2->got_ = got;\n  pOVar2->irelative_rel_ = (Reloc_section *)0x0;\n  pOVar2->got_plt_ = got_plt;\n  pOVar2->count_ = 0;\n  pOVar2->got_irelative_ = got_irelative;\n  pOVar2->irelative_count_ = 0;\n  pOVar2->tlsdesc_got_offset_ = 0xffffffff;\n  (pOVar2->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;\n  (pOVar2->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;\n  (pOVar2->free_list_).list_.\n  super__List_base<gold::Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;\n  (pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;\n  (pOVar2->free_list_).extend_ = false;\n  *(undefined4 *)&(pOVar2->free_list_).length_ = 0;\n  *(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;\n  *(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;\n  *(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;\n                    /* try { // try from 0005daed to 0005daf1 has its CatchHandler @ 0005db04 */\n  Output_data_plt_x86_64<32>::init(in_stack_ffffffd4,in_stack_ffffffd8);\n  pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x2db525;\n  return pOVar2;\n}\n\n" comment comment comment (expression_statement "Output_data_plt_x86_64<32> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64_nacl<32>::do_make_data_plt\n          (Target_x86_64_nacl<32> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative)\n\n{\n  Free_list *pFVar1;" (update_expression "Output_data_plt_x86_64<32> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64_nacl<32>::do_make_data_plt\n          (Target_x86_64_nacl<32> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative)\n\n{\n  Free_list *pFVar1" (binary_expression "Output_data_plt_x86_64<32> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64_nacl<32>::do_make_data_plt\n          (Target_x86_64_nacl<32> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative)\n\n{\n  Free_list *pFVar1" (binary_expression "Output_data_plt_x86_64<32> * __thiscall\nanon_unknown.dwarf_32964f::Target_x86_64_nacl<32" (binary_expression "Output_data_plt_x86_64<32> * __thiscall\nanon_unknown.dwarf_32964f" (binary_expression "Output_data_plt_x86_64<32" identifier < number_literal) > (ERROR "* __thiscall" (pointer_expression "* __thiscall" * identifier)) (field_expression "anon_unknown.dwarf_32964f" identifier . field_identifier)) (ERROR "::Target_x86_64_nacl" : : identifier) < number_literal) > (ERROR "::do_make_data_plt\n          (Target_x86_64_nacl<32> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative)\n\n{" : : (call_expression "do_make_data_plt\n          (Target_x86_64_nacl<32> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative)" identifier (argument_list "(Target_x86_64_nacl<32> *this,Layout *layout,Output_data_got<64,_false> *got,\n          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative)" ( (binary_expression "Target_x86_64_nacl<32> *this" (binary_expression "Target_x86_64_nacl<32" identifier < number_literal) > (pointer_expression "*this" * identifier)) , (binary_expression "Layout *layout" identifier * identifier) , (binary_expression "Output_data_got<64" identifier < number_literal) , (binary_expression "_false> *got" identifier > (pointer_expression "*got" * identifier)) , (binary_expression "Output_data_got_plt_x86_64 *got_plt" identifier * identifier) , (binary_expression "Output_data_space *got_irelative" identifier * identifier) ))) {) (binary_expression "Free_list *pFVar1" identifier * identifier)) --) ;) (expression_statement "Output_data_plt_x86_64<32> *pOVar2;" (update_expression "Output_data_plt_x86_64<32> *pOVar2" (binary_expression "Output_data_plt_x86_64<32> *pOVar2" (binary_expression "Output_data_plt_x86_64<32" identifier < number_literal) > (pointer_expression "*pOVar2" * identifier)) --) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "Output_data_plt_x86_64<32> *in_stack_ffffffd4;" (update_expression "Output_data_plt_x86_64<32> *in_stack_ffffffd4" (binary_expression "Output_data_plt_x86_64<32> *in_stack_ffffffd4" (binary_expression "Output_data_plt_x86_64<32" identifier < number_literal) > (pointer_expression "*in_stack_ffffffd4" * identifier)) --) ;) (declaration "EVP_PKEY_CTX *in_stack_ffffffd8;" type_identifier (pointer_declarator "*in_stack_ffffffd8" * identifier) ;) (expression_statement "__x86_get_pc_thunk_di();" (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( ))) ;) (expression_statement "pOVar2 = (Output_data_plt_x86_64<32> *)operator_new(0x74);" (assignment_expression "pOVar2 = (Output_data_plt_x86_64<32> *)operator_new(0x74)" identifier = (parenthesized_expression "(Output_data_plt_x86_64<32> *)operator_new(0x74)" ( (binary_expression "Output_data_plt_x86_64<32> *)operator_new(0x74)" (binary_expression "Output_data_plt_x86_64<32" identifier < number_literal) > (pointer_expression "*)operator_new(0x74)" * (ERROR ")" )) (call_expression "operator_new(0x74)" identifier (argument_list "(0x74)" ( number_literal ))))) ))) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x4 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x4 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x4" * (cast_expression "(undefined4 *)&pOVar2->field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x4" & (field_expression "pOVar2->field_0x4" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x8 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x8 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x8" * (cast_expression "(undefined4 *)&pOVar2->field_0x8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x8" & (field_expression "pOVar2->field_0x8" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pFVar1 = &pOVar2->free_list_;" (assignment_expression "pFVar1 = &pOVar2->free_list_" identifier = (pointer_expression "&pOVar2->free_list_" & (field_expression "pOVar2->free_list_" identifier -> field_identifier))) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0xc = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0xc = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0xc" * (cast_expression "(undefined4 *)&pOVar2->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0xc" & (field_expression "pOVar2->field_0xc" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x10 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x10 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x10" * (cast_expression "(undefined4 *)&pOVar2->field_0x10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x10" & (field_expression "pOVar2->field_0x10" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x14 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x14 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar2->field_0x14" * (cast_expression "(undefined4 *)&pOVar2->field_0x14" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x14" & (field_expression "pOVar2->field_0x14" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x18 = 0xffffffff;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x18 = 0xffffffff" (pointer_expression "*(undefined4 *)&pOVar2->field_0x18" * (cast_expression "(undefined4 *)&pOVar2->field_0x18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x18" & (field_expression "pOVar2->field_0x18" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;" (assignment_expression "pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0" (field_expression "pOVar2->field_0x1c" identifier -> field_identifier) = (binary_expression "pOVar2->field_0x1c & 0xe0" (field_expression "pOVar2->field_0x1c" identifier -> field_identifier) & number_literal)) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x20 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x20 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x20" * (cast_expression "(undefined4 *)&pOVar2->field_0x20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x20" & (field_expression "pOVar2->field_0x20" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x24 = 0x40;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x24 = 0x40" (pointer_expression "*(undefined4 *)&pOVar2->field_0x24" * (cast_expression "(undefined4 *)&pOVar2->field_0x24" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x24" & (field_expression "pOVar2->field_0x24" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar2->field_0x28 = 0;" (assignment_expression "*(undefined4 *)&pOVar2->field_0x28 = 0" (pointer_expression "*(undefined4 *)&pOVar2->field_0x28" * (cast_expression "(undefined4 *)&pOVar2->field_0x28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar2->field_0x28" & (field_expression "pOVar2->field_0x28" identifier -> field_identifier)))) = number_literal) ;) (expression_statement "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x2dba21;" (assignment_expression "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x2dba21" (field_expression "pOVar2->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x2dba21" identifier + number_literal)) ;) (expression_statement "pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar2->tlsdesc_rel_ = (Reloc_section *)0x0" (field_expression "pOVar2->tlsdesc_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar2->got_ = got;" (assignment_expression "pOVar2->got_ = got" (field_expression "pOVar2->got_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->irelative_rel_ = (Reloc_section *)0x0;" (assignment_expression "pOVar2->irelative_rel_ = (Reloc_section *)0x0" (field_expression "pOVar2->irelative_rel_" identifier -> field_identifier) = (cast_expression "(Reloc_section *)0x0" ( (type_descriptor "Reloc_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar2->got_plt_ = got_plt;" (assignment_expression "pOVar2->got_plt_ = got_plt" (field_expression "pOVar2->got_plt_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->count_ = 0;" (assignment_expression "pOVar2->count_ = 0" (field_expression "pOVar2->count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar2->got_irelative_ = got_irelative;" (assignment_expression "pOVar2->got_irelative_ = got_irelative" (field_expression "pOVar2->got_irelative_" identifier -> field_identifier) = identifier) ;) (expression_statement "pOVar2->irelative_count_ = 0;" (assignment_expression "pOVar2->irelative_count_ = 0" (field_expression "pOVar2->irelative_count_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pOVar2->tlsdesc_got_offset_ = 0xffffffff;" (assignment_expression "pOVar2->tlsdesc_got_offset_ = 0xffffffff" (field_expression "pOVar2->tlsdesc_got_offset_" identifier -> field_identifier) = number_literal) ;) (ERROR "(pOVar2->free_list_).list_.\n  super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n  super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n  super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1;" (assignment_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev = (_List_node_base *)pFVar1" (field_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_prev" (field_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n  ._M_impl._M_node" (field_expression "Free_list_node>_>\n  ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(pOVar2->free_list_).list_.\n  super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n  super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n  super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1;" (assignment_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next = (_List_node_base *)pFVar1" (field_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base._M_next" (field_expression "Free_list_node>_>\n  ._M_impl._M_node.super__List_node_base" (field_expression "Free_list_node>_>\n  ._M_impl._M_node" (field_expression "Free_list_node>_>\n  ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;))) (ERROR "(pOVar2->free_list_).list_.\n  super__List_base<gold::" (binary_expression "(pOVar2->free_list_).list_.\n  super__List_base<gold" (field_expression "(pOVar2->free_list_).list_.\n  super__List_base" (field_expression "(pOVar2->free_list_).list_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : :) (labeled_statement "Free_list::Free_list_node,_std::allocator<gold::Free_list::Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;" statement_identifier (ERROR "::Free_list_node,_std::allocator<gold:" : : (comma_expression "Free_list_node,_std" identifier , identifier) : : (binary_expression "allocator<gold" identifier < identifier) :) : (labeled_statement "Free_list::Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;" statement_identifier : (ERROR ":" :) (expression_statement "Free_list_node>_>\n  ._M_impl._M_node._M_size = 0;" (assignment_expression "Free_list_node>_>\n  ._M_impl._M_node._M_size = 0" (field_expression "Free_list_node>_>\n  ._M_impl._M_node._M_size" (field_expression "Free_list_node>_>\n  ._M_impl._M_node" (field_expression "Free_list_node>_>\n  ._M_impl" (binary_expression "Free_list_node>_" identifier > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;))) (expression_statement "(pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1;" (assignment_expression "(pOVar2->free_list_).last_remove_._M_node = (_List_node_base *)pFVar1" (field_expression "(pOVar2->free_list_).last_remove_._M_node" (field_expression "(pOVar2->free_list_).last_remove_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_List_node_base *)pFVar1" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(pOVar2->free_list_).extend_ = false;" (assignment_expression "(pOVar2->free_list_).extend_ = false" (field_expression "(pOVar2->free_list_).extend_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier) = false) ;) (expression_statement "*(undefined4 *)&(pOVar2->free_list_).length_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar2->free_list_).length_ = 0" (pointer_expression "*(undefined4 *)&(pOVar2->free_list_).length_" * (cast_expression "(undefined4 *)&(pOVar2->free_list_).length_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar2->free_list_).length_" & (field_expression "(pOVar2->free_list_).length_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar2->free_list_).length_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar2->free_list_).length_ + 4)" ( (binary_expression "(int)&(pOVar2->free_list_).length_ + 4" (cast_expression "(int)&(pOVar2->free_list_).length_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar2->free_list_).length_" & (field_expression "(pOVar2->free_list_).length_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar2->free_list_).min_hole_ = 0" (pointer_expression "*(undefined4 *)&(pOVar2->free_list_).min_hole_" * (cast_expression "(undefined4 *)&(pOVar2->free_list_).min_hole_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar2->free_list_).min_hole_" & (field_expression "(pOVar2->free_list_).min_hole_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar2->free_list_).min_hole_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar2->free_list_).min_hole_ + 4)" ( (binary_expression "(int)&(pOVar2->free_list_).min_hole_ + 4" (cast_expression "(int)&(pOVar2->free_list_).min_hole_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar2->free_list_).min_hole_" & (field_expression "(pOVar2->free_list_).min_hole_" (parenthesized_expression "(pOVar2->free_list_)" ( (field_expression "pOVar2->free_list_" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) comment (expression_statement "Output_data_plt_x86_64<32>::init(in_stack_ffffffd4,in_stack_ffffffd8);" (update_expression "Output_data_plt_x86_64<32>::init(in_stack_ffffffd4,in_stack_ffffffd8)" (binary_expression "Output_data_plt_x86_64<32>::init(in_stack_ffffffd4,in_stack_ffffffd8)" (binary_expression "Output_data_plt_x86_64<32" identifier < number_literal) > (ERROR "::" : :) (call_expression "init(in_stack_ffffffd4,in_stack_ffffffd8)" identifier (argument_list "(in_stack_ffffffd4,in_stack_ffffffd8)" ( identifier , identifier )))) --) ;) (expression_statement "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x2db525;" (assignment_expression "pOVar2->plt_eh_frame_cie_size = unaff_EDI + 0x2db525" (field_expression "pOVar2->plt_eh_frame_cie_size" identifier -> field_identifier) = (binary_expression "unaff_EDI + 0x2db525" identifier + number_literal)) ;) (return_statement "return pOVar2;" return identifier ;) (ERROR "}" }))
(translation_unit "int * FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  piVar2 = (int *)FUN_001aa8c0(0x74);\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar1 = piVar2 + 0x14;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = -1;\n  piVar2[6] = -1;\n  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n  piVar2[8] = 0;\n  piVar2[9] = 0x40;\n  piVar2[10] = 0;\n  *piVar2 = unaff_EDI + 0x2dba21;\n  piVar2[0xc] = 0;\n  piVar2[0xe] = param_3;\n  piVar2[0xd] = 0;\n  piVar2[0xf] = param_4;\n  piVar2[0x11] = 0;\n  piVar2[0x10] = param_5;\n  piVar2[0x12] = 0;\n  piVar2[0x13] = -1;\n  piVar2[0x15] = (int)piVar1;\n  piVar2[0x14] = (int)piVar1;\n  piVar2[0x16] = 0;\n  piVar2[0x17] = (int)piVar1;\n  *(undefined1 *)(piVar2 + 0x18) = 0;\n  piVar2[0x19] = 0;\n  piVar2[0x1a] = 0;\n  piVar2[0x1b] = 0;\n  piVar2[0x1c] = 0;\n                    \n  FUN_0005d940();\n  *piVar2 = unaff_EDI + 0x2db525;\n  return piVar2;\n}\n\n" (function_definition "int * FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  piVar2 = (int *)FUN_001aa8c0(0x74);\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar1 = piVar2 + 0x14;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = -1;\n  piVar2[6] = -1;\n  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n  piVar2[8] = 0;\n  piVar2[9] = 0x40;\n  piVar2[10] = 0;\n  *piVar2 = unaff_EDI + 0x2dba21;\n  piVar2[0xc] = 0;\n  piVar2[0xe] = param_3;\n  piVar2[0xd] = 0;\n  piVar2[0xf] = param_4;\n  piVar2[0x11] = 0;\n  piVar2[0x10] = param_5;\n  piVar2[0x12] = 0;\n  piVar2[0x13] = -1;\n  piVar2[0x15] = (int)piVar1;\n  piVar2[0x14] = (int)piVar1;\n  piVar2[0x16] = 0;\n  piVar2[0x17] = (int)piVar1;\n  *(undefined1 *)(piVar2 + 0x18) = 0;\n  piVar2[0x19] = 0;\n  piVar2[0x1a] = 0;\n  piVar2[0x1b] = 0;\n  piVar2[0x1c] = 0;\n                    \n  FUN_0005d940();\n  *piVar2 = unaff_EDI + 0x2db525;\n  return piVar2;\n}" primitive_type (pointer_declarator "* FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)" * (function_declarator "FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) )))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  piVar2 = (int *)FUN_001aa8c0(0x74);\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar1 = piVar2 + 0x14;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = -1;\n  piVar2[6] = -1;\n  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n  piVar2[8] = 0;\n  piVar2[9] = 0x40;\n  piVar2[10] = 0;\n  *piVar2 = unaff_EDI + 0x2dba21;\n  piVar2[0xc] = 0;\n  piVar2[0xe] = param_3;\n  piVar2[0xd] = 0;\n  piVar2[0xf] = param_4;\n  piVar2[0x11] = 0;\n  piVar2[0x10] = param_5;\n  piVar2[0x12] = 0;\n  piVar2[0x13] = -1;\n  piVar2[0x15] = (int)piVar1;\n  piVar2[0x14] = (int)piVar1;\n  piVar2[0x16] = 0;\n  piVar2[0x17] = (int)piVar1;\n  *(undefined1 *)(piVar2 + 0x18) = 0;\n  piVar2[0x19] = 0;\n  piVar2[0x1a] = 0;\n  piVar2[0x1b] = 0;\n  piVar2[0x1c] = 0;\n                    \n  FUN_0005d940();\n  *piVar2 = unaff_EDI + 0x2db525;\n  return piVar2;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_00058c4a();" (call_expression "FUN_00058c4a()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar2 = (int *)FUN_001aa8c0(0x74);" (assignment_expression "piVar2 = (int *)FUN_001aa8c0(0x74)" identifier = (cast_expression "(int *)FUN_001aa8c0(0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001aa8c0(0x74)" identifier (argument_list "(0x74)" ( number_literal ))))) ;) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" identifier = (binary_expression "piVar2 + 0x14" identifier + number_literal)) ;) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" * (cast_expression "(byte *)(piVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 7)" ( (binary_expression "piVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[9] = 0x40;" (assignment_expression "piVar2[9] = 0x40" (subscript_expression "piVar2[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar2 = unaff_EDI + 0x2dba21;" (assignment_expression "*piVar2 = unaff_EDI + 0x2dba21" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x2dba21" identifier + number_literal)) ;) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" identifier [ number_literal ]) = (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" * (cast_expression "(undefined1 *)(piVar2 + 0x18)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2 + 0x18)" ( (binary_expression "piVar2 + 0x18" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0005d940();" (call_expression "FUN_0005d940()" identifier (argument_list "()" ( ))) ;) (expression_statement "*piVar2 = unaff_EDI + 0x2db525;" (assignment_expression "*piVar2 = unaff_EDI + 0x2db525" (pointer_expression "*piVar2" * identifier) = (binary_expression "unaff_EDI + 0x2db525" identifier + number_literal)) ;) (return_statement "return piVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (return_statement return IDENT ;) })))
(function_definition "int * FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)\n\n{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  piVar2 = (int *)FUN_001aa8c0(0x74);\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar1 = piVar2 + 0x14;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = -1;\n  piVar2[6] = -1;\n  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n  piVar2[8] = 0;\n  piVar2[9] = 0x40;\n  piVar2[10] = 0;\n  *piVar2 = unaff_EDI + 0x2dba21;\n  piVar2[0xc] = 0;\n  piVar2[0xe] = param_3;\n  piVar2[0xd] = 0;\n  piVar2[0xf] = param_4;\n  piVar2[0x11] = 0;\n  piVar2[0x10] = param_5;\n  piVar2[0x12] = 0;\n  piVar2[0x13] = -1;\n  piVar2[0x15] = (int)piVar1;\n  piVar2[0x14] = (int)piVar1;\n  piVar2[0x16] = 0;\n  piVar2[0x17] = (int)piVar1;\n  *(undefined1 *)(piVar2 + 0x18) = 0;\n  piVar2[0x19] = 0;\n  piVar2[0x1a] = 0;\n  piVar2[0x1b] = 0;\n  piVar2[0x1c] = 0;\n                    \n  FUN_0005d940();\n  *piVar2 = unaff_EDI + 0x2db525;\n  return piVar2;\n}" (primitive_type "int") (pointer_declarator "* FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)" (* "*") (function_declarator "FUN_0005da10(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)" (identifier "FUN_0005da10") (parameter_list "(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) () ")")))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  int unaff_EDI;\n  \n  FUN_00058c4a();\n  piVar2 = (int *)FUN_001aa8c0(0x74);\n  piVar2[1] = 0;\n  piVar2[2] = 0;\n  piVar1 = piVar2 + 0x14;\n  piVar2[3] = 0;\n  piVar2[4] = 0;\n  piVar2[5] = -1;\n  piVar2[6] = -1;\n  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;\n  piVar2[8] = 0;\n  piVar2[9] = 0x40;\n  piVar2[10] = 0;\n  *piVar2 = unaff_EDI + 0x2dba21;\n  piVar2[0xc] = 0;\n  piVar2[0xe] = param_3;\n  piVar2[0xd] = 0;\n  piVar2[0xf] = param_4;\n  piVar2[0x11] = 0;\n  piVar2[0x10] = param_5;\n  piVar2[0x12] = 0;\n  piVar2[0x13] = -1;\n  piVar2[0x15] = (int)piVar1;\n  piVar2[0x14] = (int)piVar1;\n  piVar2[0x16] = 0;\n  piVar2[0x17] = (int)piVar1;\n  *(undefined1 *)(piVar2 + 0x18) = 0;\n  piVar2[0x19] = 0;\n  piVar2[0x1a] = 0;\n  piVar2[0x1b] = 0;\n  piVar2[0x1c] = 0;\n                    \n  FUN_0005d940();\n  *piVar2 = unaff_EDI + 0x2db525;\n  return piVar2;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (expression_statement "FUN_00058c4a();" (call_expression "FUN_00058c4a()" (identifier "FUN_00058c4a") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar2 = (int *)FUN_001aa8c0(0x74);" (assignment_expression "piVar2 = (int *)FUN_001aa8c0(0x74)" (identifier "piVar2") (= "=") (cast_expression "(int *)FUN_001aa8c0(0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001aa8c0(0x74)" (identifier "FUN_001aa8c0") (argument_list "(0x74)" (( "(") (number_literal "0x74") () ")"))))) (; ";")) (expression_statement "piVar2[1] = 0;" (assignment_expression "piVar2[1] = 0" (subscript_expression "piVar2[1]" (identifier "piVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[2] = 0;" (assignment_expression "piVar2[2] = 0" (subscript_expression "piVar2[2]" (identifier "piVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar1 = piVar2 + 0x14;" (assignment_expression "piVar1 = piVar2 + 0x14" (identifier "piVar1") (= "=") (binary_expression "piVar2 + 0x14" (identifier "piVar2") (+ "+") (number_literal "0x14"))) (; ";")) (expression_statement "piVar2[3] = 0;" (assignment_expression "piVar2[3] = 0" (subscript_expression "piVar2[3]" (identifier "piVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[4] = 0;" (assignment_expression "piVar2[4] = 0" (subscript_expression "piVar2[4]" (identifier "piVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[5] = -1;" (assignment_expression "piVar2[5] = -1" (subscript_expression "piVar2[5]" (identifier "piVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[6] = -1;" (assignment_expression "piVar2[6] = -1" (subscript_expression "piVar2[6]" (identifier "piVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" (* "*") (cast_expression "(byte *)(piVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 7)" (( "(") (binary_expression "piVar2 + 7" (identifier "piVar2") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(piVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(piVar2 + 7)" (* "*") (cast_expression "(byte *)(piVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 7)" (( "(") (binary_expression "piVar2 + 7" (identifier "piVar2") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "piVar2[8] = 0;" (assignment_expression "piVar2[8] = 0" (subscript_expression "piVar2[8]" (identifier "piVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[9] = 0x40;" (assignment_expression "piVar2[9] = 0x40" (subscript_expression "piVar2[9]" (identifier "piVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0x40")) (; ";")) (expression_statement "piVar2[10] = 0;" (assignment_expression "piVar2[10] = 0" (subscript_expression "piVar2[10]" (identifier "piVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar2 = unaff_EDI + 0x2dba21;" (assignment_expression "*piVar2 = unaff_EDI + 0x2dba21" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "unaff_EDI + 0x2dba21" (identifier "unaff_EDI") (+ "+") (number_literal "0x2dba21"))) (; ";")) (expression_statement "piVar2[0xc] = 0;" (assignment_expression "piVar2[0xc] = 0" (subscript_expression "piVar2[0xc]" (identifier "piVar2") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xe] = param_3;" (assignment_expression "piVar2[0xe] = param_3" (subscript_expression "piVar2[0xe]" (identifier "piVar2") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "param_3")) (; ";")) (expression_statement "piVar2[0xd] = 0;" (assignment_expression "piVar2[0xd] = 0" (subscript_expression "piVar2[0xd]" (identifier "piVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0xf] = param_4;" (assignment_expression "piVar2[0xf] = param_4" (subscript_expression "piVar2[0xf]" (identifier "piVar2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (identifier "param_4")) (; ";")) (expression_statement "piVar2[0x11] = 0;" (assignment_expression "piVar2[0x11] = 0" (subscript_expression "piVar2[0x11]" (identifier "piVar2") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x10] = param_5;" (assignment_expression "piVar2[0x10] = param_5" (subscript_expression "piVar2[0x10]" (identifier "piVar2") ([ "[") (number_literal "0x10") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "piVar2[0x12] = 0;" (assignment_expression "piVar2[0x12] = 0" (subscript_expression "piVar2[0x12]" (identifier "piVar2") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x13] = -1;" (assignment_expression "piVar2[0x13] = -1" (subscript_expression "piVar2[0x13]" (identifier "piVar2") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "piVar2[0x15] = (int)piVar1;" (assignment_expression "piVar2[0x15] = (int)piVar1" (subscript_expression "piVar2[0x15]" (identifier "piVar2") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar2[0x14] = (int)piVar1;" (assignment_expression "piVar2[0x14] = (int)piVar1" (subscript_expression "piVar2[0x14]" (identifier "piVar2") ([ "[") (number_literal "0x14") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "piVar2[0x16] = 0;" (assignment_expression "piVar2[0x16] = 0" (subscript_expression "piVar2[0x16]" (identifier "piVar2") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x17] = (int)piVar1;" (assignment_expression "piVar2[0x17] = (int)piVar1" (subscript_expression "piVar2[0x17]" (identifier "piVar2") ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1"))) (; ";")) (expression_statement "*(undefined1 *)(piVar2 + 0x18) = 0;" (assignment_expression "*(undefined1 *)(piVar2 + 0x18) = 0" (pointer_expression "*(undefined1 *)(piVar2 + 0x18)" (* "*") (cast_expression "(undefined1 *)(piVar2 + 0x18)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2 + 0x18)" (( "(") (binary_expression "piVar2 + 0x18" (identifier "piVar2") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x19] = 0;" (assignment_expression "piVar2[0x19] = 0" (subscript_expression "piVar2[0x19]" (identifier "piVar2") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1a] = 0;" (assignment_expression "piVar2[0x1a] = 0" (subscript_expression "piVar2[0x1a]" (identifier "piVar2") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1b] = 0;" (assignment_expression "piVar2[0x1b] = 0" (subscript_expression "piVar2[0x1b]" (identifier "piVar2") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar2[0x1c] = 0;" (assignment_expression "piVar2[0x1c] = 0" (subscript_expression "piVar2[0x1c]" (identifier "piVar2") ([ "[") (number_literal "0x1c") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0005d940();" (call_expression "FUN_0005d940()" (identifier "FUN_0005d940") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*piVar2 = unaff_EDI + 0x2db525;" (assignment_expression "*piVar2 = unaff_EDI + 0x2db525" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "unaff_EDI + 0x2db525" (identifier "unaff_EDI") (+ "+") (number_literal "0x2db525"))) (; ";")) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Output_data_plt_x86_64<32> * do_make_data_plt(Target_x86_64_nacl<32> *
   this, Layout * layout, Output_data_got<64,_false> * got, Output_data_got_plt_x86_64 * got_plt,
   Output_data_space * got_irelative) */

var_1<32> * __thiscall
anon_unknown.dwarf_32964f::Target_x86_64_nacl<32>::do_make_data_plt
          (Target_x86_64_nacl<32> *this,Layout *layout,Output_data_got<64,_false> *got,
          Output_data_got_plt_x86_64 *got_plt,Output_data_space *got_irelative)

{
  var_2 *var_3;
  var_1<32> *pOVar2;
  int var_6;
  var_1<32> *in_stack_ffffffd4;
  type_1 *in_stack_ffffffd8;
  
  var_4();
  pOVar2 = (var_1<32> *)var_5(0x74);
  *(type_2 *)&pOVar2->field_0x4 = 0;
  *(type_2 *)&pOVar2->field_0x8 = 0;
  var_3 = &pOVar2->free_list_;
  *(type_2 *)&pOVar2->field_0xc = 0;
  *(type_2 *)&pOVar2->field_0x10 = 0;
  *(type_2 *)&pOVar2->field_0x14 = 0xffffffff;
  *(type_2 *)&pOVar2->field_0x18 = 0xffffffff;
  pOVar2->field_0x1c = pOVar2->field_0x1c & 0xe0;
  *(type_2 *)&pOVar2->field_0x20 = 0;
  *(type_2 *)&pOVar2->field_0x24 = 0x40;
  *(type_2 *)&pOVar2->field_0x28 = 0;
  pOVar2->plt_eh_frame_cie_size = var_6 + 0x2dba21;
  pOVar2->tlsdesc_rel_ = (type_3 *)0x0;
  pOVar2->got_ = got;
  pOVar2->irelative_rel_ = (type_3 *)0x0;
  pOVar2->got_plt_ = got_plt;
  pOVar2->count_ = 0;
  pOVar2->got_irelative_ = got_irelative;
  pOVar2->irelative_count_ = 0;
  pOVar2->tlsdesc_got_offset_ = 0xffffffff;
  (pOVar2->free_list_).list_.
  super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
  ._M_impl._M_node.super__List_node_base._M_prev = (type_4 *)var_3;
  (pOVar2->free_list_).list_.
  super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
  ._M_impl._M_node.super__List_node_base._M_next = (type_4 *)var_3;
  (pOVar2->free_list_).list_.
  super__List_base<gold::Free_list::var_7,_std::allocator<gold::Free_list::var_7>var_8>
  ._M_impl._M_node._M_size = 0;
  (pOVar2->free_list_).last_remove_._M_node = (type_4 *)var_3;
  (pOVar2->free_list_).extend_ = false;
  *(type_2 *)&(pOVar2->free_list_).length_ = 0;
  *(type_2 *)((int)&(pOVar2->free_list_).length_ + 4) = 0;
  *(type_2 *)&(pOVar2->free_list_).min_hole_ = 0;
  *(type_2 *)((int)&(pOVar2->free_list_).min_hole_ + 4) = 0;
                    /* try { // try from 0005daed to 0005daf1 has its CatchHandler @ 0005db04 */
  var_1<32>::var_9(in_stack_ffffffd4,in_stack_ffffffd8);
  pOVar2->plt_eh_frame_cie_size = var_6 + 0x2db525;
  return pOVar2;
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (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: (binary_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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (return_statement (identifier)))))

int * MASKED(undefined4 param_1,undefined4 param_2,int param_3,int param_4,int param_5)

{
  int *piVar1;
  int *piVar2;
  int unaff_EDI;
  
  FUN_00058c4a();
  piVar2 = (int *)FUN_001aa8c0(0x74);
  piVar2[1] = 0;
  piVar2[2] = 0;
  piVar1 = piVar2 + 0x14;
  piVar2[3] = 0;
  piVar2[4] = 0;
  piVar2[5] = -1;
  piVar2[6] = -1;
  *(byte *)(piVar2 + 7) = *(byte *)(piVar2 + 7) & 0xe0;
  piVar2[8] = 0;
  piVar2[9] = 0x40;
  piVar2[10] = 0;
  *piVar2 = unaff_EDI + 0x2dba21;
  piVar2[0xc] = 0;
  piVar2[0xe] = param_3;
  piVar2[0xd] = 0;
  piVar2[0xf] = param_4;
  piVar2[0x11] = 0;
  piVar2[0x10] = param_5;
  piVar2[0x12] = 0;
  piVar2[0x13] = -1;
  piVar2[0x15] = (int)piVar1;
  piVar2[0x14] = (int)piVar1;
  piVar2[0x16] = 0;
  piVar2[0x17] = (int)piVar1;
  *(undefined1 *)(piVar2 + 0x18) = 0;
  piVar2[0x19] = 0;
  piVar2[0x1a] = 0;
  piVar2[0x1b] = 0;
  piVar2[0x1c] = 0;
                    /* try { // try from 0005daed to 0005daf1 has its CatchHandler @ 0005db04 */
  FUN_0005d940();
  *piVar2 = unaff_EDI + 0x2db525;
  return piVar2;
}

