
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >
   >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t,
   void const*) const */

undefined4 *
std::num_put<wchar_t,std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t>>>::do_put
          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,uint param_4,int param_5,
          undefined4 param_6,undefined4 param_7)

{
  uint uVar1;
  undefined4 local_24;
  byte bStack_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x240319;
  uVar1 = *(uint *)(param_5 + 0xc);
  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;
  _M_insert_int<unsigned_long>(&local_24,param_2,param_3,param_4,param_5,param_6,param_7);
  *param_1 = local_24;
  param_1[1] = param_4 & 0xffffff00 | (uint)bStack_20;
  *(uint *)(param_5 + 0xc) = uVar1;
  return param_1;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint * FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,
                   int param_5,undefined4 param_6,undefined4 param_7)

{
  uint uVar1;
  uint *unaff_retaddr;
  undefined4 local_2c;
  byte local_24 [16];
  undefined4 uStack_14;
  
  uStack_14 = 0x240319;
  uVar1 = *(uint *)(param_5 + 0xc);
  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;
  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);
  *unaff_retaddr = uVar1;
  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];
  *(undefined4 *)(param_5 + 0xc) = local_2c;
  return unaff_retaddr;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x14ece7
SUB ESP,0x1c
MOV EBP,dword ptr [ESP + 0x40]
MOV EDI,dword ptr [ESP + 0x3c]
MOV ESI,dword ptr [ESP + 0x38]
MOV ECX,dword ptr [EBP + 0xc]
MOV EDX,ECX
MOV dword ptr [ESP + 0x4],ECX
AND EDX,0xffffbfb5
OR EDX,0x208
MOV dword ptr [EBP + 0xc],EDX
LEA EDX,[ESP + 0x8]
SUB ESP,0x4
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x4c]
PUSH EBP
PUSH EDI
PUSH ESI
PUSH dword ptr [ESP + 0x4c]
PUSH EDX
CALL 0x002400f0
MOV EDX,EDI
MOVZX EBX,byte ptr [ESP + 0x28]
MOV ESI,dword ptr [ESP + 0x24]
XOR DL,DL
MOV EAX,dword ptr [ESP + 0x4c]
MOV ECX,dword ptr [ESP + 0x20]
OR EDX,EBX
MOV dword ptr [EAX],ESI
MOV dword ptr [EAX + 0x4],EDX
MOV EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [EBP + 0xc],ECX
ADD ESP,0x38
POP EBX
POP ESI
POP EDI
POP EBP
RET 0x4
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint * FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  uint uVar1;\n  uint *unaff_retaddr;\n  undefined4 local_2c;\n  byte local_24 [16];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *unaff_retaddr = uVar1;\n  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];\n  *(undefined4 *)(param_5 + 0xc) = local_2c;\n  return unaff_retaddr;\n}\n\n" comment (function_definition "uint * FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  uint uVar1;\n  uint *unaff_retaddr;\n  undefined4 local_2c;\n  byte local_24 [16];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *unaff_retaddr = uVar1;\n  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];\n  *(undefined4 *)(param_5 + 0xc) = local_2c;\n  return unaff_retaddr;\n}" type_identifier (pointer_declarator "* FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)" * (function_declarator "FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) )))) (compound_statement "{\n  uint uVar1;\n  uint *unaff_retaddr;\n  undefined4 local_2c;\n  byte local_24 [16];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *unaff_retaddr = uVar1;\n  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];\n  *(undefined4 *)(param_5 + 0xc) = local_2c;\n  return unaff_retaddr;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint *unaff_retaddr;" type_identifier (pointer_declarator "*unaff_retaddr" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "byte local_24 [16];" type_identifier (array_declarator "local_24 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x240319;" (assignment_expression "uStack_14 = 0x240319" identifier = number_literal) ;) (expression_statement "uVar1 = *(uint *)(param_5 + 0xc);" (assignment_expression "uVar1 = *(uint *)(param_5 + 0xc)" identifier = (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;" (assignment_expression "*(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) = (binary_expression "uVar1 & 0xffffbfb5 | 0x208" (binary_expression "uVar1 & 0xffffbfb5" identifier & number_literal) | number_literal)) ;) (expression_statement "FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);" (call_expression "FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7)" identifier (argument_list "(local_24,param_2,param_3,param_4,param_5,param_6,param_7)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "*unaff_retaddr = uVar1;" (assignment_expression "*unaff_retaddr = uVar1" (pointer_expression "*unaff_retaddr" * identifier) = identifier) ;) (expression_statement "unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];" (assignment_expression "unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0]" (subscript_expression "unaff_retaddr[1]" identifier [ number_literal ]) = (binary_expression "param_4 & 0xffffff00 | (uint)local_24[0]" (binary_expression "param_4 & 0xffffff00" identifier & number_literal) | (cast_expression "(uint)local_24[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_24[0]" identifier [ number_literal ])))) ;) (expression_statement "*(undefined4 *)(param_5 + 0xc) = local_2c;" (assignment_expression "*(undefined4 *)(param_5 + 0xc) = local_2c" (pointer_expression "*(undefined4 *)(param_5 + 0xc)" * (cast_expression "(undefined4 *)(param_5 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) = identifier) ;) (return_statement "return unaff_retaddr;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >\n   >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t,\n   void const*) const */\n\nundefined4 *\nstd::num_put<wchar_t,std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t>>>::do_put\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,uint param_4,int param_5,\n          undefined4 param_6,undefined4 param_7)\n\n{\n  uint uVar1;\n  undefined4 local_24;\n  byte bStack_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  _M_insert_int<unsigned_long>(&local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *param_1 = local_24;\n  param_1[1] = param_4 & 0xffffff00 | (uint)bStack_20;\n  *(uint *)(param_5 + 0xc) = uVar1;\n  return param_1;\n}\n\n" comment comment (ERROR "undefined4 *\nstd::num_put<wchar_t," (binary_expression "undefined4 *\nstd::num_put<wchar_t" (binary_expression "undefined4 *\nstd" identifier * identifier) (ERROR "::num_put" : : identifier) < identifier) ,) (labeled_statement "std::ostreambuf_iterator<wchar_t,std::char_traits<wchar_t>>>::do_put\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,uint param_4,int param_5,\n          undefined4 param_6,undefined4 param_7)" statement_identifier (ERROR "::ostreambuf_iterator<wchar_t,std:" : : (comma_expression "ostreambuf_iterator<wchar_t,std" (binary_expression "ostreambuf_iterator<wchar_t" identifier < identifier) , identifier) :) : (expression_statement "char_traits<wchar_t>>>::do_put\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,uint param_4,int param_5,\n          undefined4 param_6,undefined4 param_7)" (binary_expression "char_traits<wchar_t>>>::do_put\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,uint param_4,int param_5,\n          undefined4 param_6,undefined4 param_7)" identifier < (binary_expression "wchar_t>>>::do_put\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,uint param_4,int param_5,\n          undefined4 param_6,undefined4 param_7)" identifier >> (ERROR ">::" > : :) (call_expression "do_put\n          (undefined4 *param_1,undefined4 param_2,undefined4 param_3,uint param_4,int param_5,\n          undefined4 param_6,undefined4 param_7)" identifier (argument_list "(undefined4 *param_1,undefined4 param_2,undefined4 param_3,uint param_4,int param_5,\n          undefined4 param_6,undefined4 param_7)" ( (binary_expression "undefined4 *param_1" identifier * identifier) , identifier (ERROR "param_2" identifier) , identifier (ERROR "param_3" identifier) , (ERROR "uint" identifier) identifier , (ERROR "int" identifier) identifier , identifier (ERROR "param_6" identifier) , identifier (ERROR "param_7" identifier) ))))) ;)) (compound_statement "{\n  uint uVar1;\n  undefined4 local_24;\n  byte bStack_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  _M_insert_int<unsigned_long>(&local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *param_1 = local_24;\n  param_1[1] = param_4 & 0xffffff00 | (uint)bStack_20;\n  *(uint *)(param_5 + 0xc) = uVar1;\n  return param_1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "byte bStack_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x240319;" (assignment_expression "uStack_14 = 0x240319" identifier = number_literal) ;) (expression_statement "uVar1 = *(uint *)(param_5 + 0xc);" (assignment_expression "uVar1 = *(uint *)(param_5 + 0xc)" identifier = (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;" (assignment_expression "*(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) = (binary_expression "uVar1 & 0xffffbfb5 | 0x208" (binary_expression "uVar1 & 0xffffbfb5" identifier & number_literal) | number_literal)) ;) (expression_statement "_M_insert_int<unsigned_long>(&local_24,param_2,param_3,param_4,param_5,param_6,param_7);" (binary_expression "_M_insert_int<unsigned_long>(&local_24,param_2,param_3,param_4,param_5,param_6,param_7)" (binary_expression "_M_insert_int<unsigned_long" identifier < identifier) > (parenthesized_expression "(&local_24,param_2,param_3,param_4,param_5,param_6,param_7)" ( (comma_expression "&local_24,param_2,param_3,param_4,param_5,param_6,param_7" (pointer_expression "&local_24" & identifier) , (comma_expression "param_2,param_3,param_4,param_5,param_6,param_7" identifier , (comma_expression "param_3,param_4,param_5,param_6,param_7" identifier , (comma_expression "param_4,param_5,param_6,param_7" identifier , (comma_expression "param_5,param_6,param_7" identifier , (comma_expression "param_6,param_7" identifier , identifier)))))) ))) ;) (expression_statement "*param_1 = local_24;" (assignment_expression "*param_1 = local_24" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "param_1[1] = param_4 & 0xffffff00 | (uint)bStack_20;" (assignment_expression "param_1[1] = param_4 & 0xffffff00 | (uint)bStack_20" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "param_4 & 0xffffff00 | (uint)bStack_20" (binary_expression "param_4 & 0xffffff00" identifier & number_literal) | (cast_expression "(uint)bStack_20" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "*(uint *)(param_5 + 0xc) = uVar1;" (assignment_expression "*(uint *)(param_5 + 0xc) = uVar1" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) = identifier) ;) (return_statement "return param_1;" return identifier ;) }))
(translation_unit "uint * FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  uint uVar1;\n  uint *unaff_retaddr;\n  undefined4 local_2c;\n  byte local_24 [16];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *unaff_retaddr = uVar1;\n  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];\n  *(undefined4 *)(param_5 + 0xc) = local_2c;\n  return unaff_retaddr;\n}\n\n" (function_definition "uint * FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  uint uVar1;\n  uint *unaff_retaddr;\n  undefined4 local_2c;\n  byte local_24 [16];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *unaff_retaddr = uVar1;\n  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];\n  *(undefined4 *)(param_5 + 0xc) = local_2c;\n  return unaff_retaddr;\n}" type_identifier (pointer_declarator "* FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)" * (function_declarator "FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) , (parameter_declaration "undefined4 param_7" type_identifier identifier) )))) (compound_statement "{\n  uint uVar1;\n  uint *unaff_retaddr;\n  undefined4 local_2c;\n  byte local_24 [16];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *unaff_retaddr = uVar1;\n  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];\n  *(undefined4 *)(param_5 + 0xc) = local_2c;\n  return unaff_retaddr;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "uint *unaff_retaddr;" type_identifier (pointer_declarator "*unaff_retaddr" * identifier) ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "byte local_24 [16];" type_identifier (array_declarator "local_24 [16]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x240319;" (assignment_expression "uStack_14 = 0x240319" identifier = number_literal) ;) (expression_statement "uVar1 = *(uint *)(param_5 + 0xc);" (assignment_expression "uVar1 = *(uint *)(param_5 + 0xc)" identifier = (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;" (assignment_expression "*(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208" (pointer_expression "*(uint *)(param_5 + 0xc)" * (cast_expression "(uint *)(param_5 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) = (binary_expression "uVar1 & 0xffffbfb5 | 0x208" (binary_expression "uVar1 & 0xffffbfb5" identifier & number_literal) | number_literal)) ;) (expression_statement "FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);" (call_expression "FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7)" identifier (argument_list "(local_24,param_2,param_3,param_4,param_5,param_6,param_7)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "*unaff_retaddr = uVar1;" (assignment_expression "*unaff_retaddr = uVar1" (pointer_expression "*unaff_retaddr" * identifier) = identifier) ;) (expression_statement "unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];" (assignment_expression "unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0]" (subscript_expression "unaff_retaddr[1]" identifier [ number_literal ]) = (binary_expression "param_4 & 0xffffff00 | (uint)local_24[0]" (binary_expression "param_4 & 0xffffff00" identifier & number_literal) | (cast_expression "(uint)local_24[0]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_24[0]" identifier [ number_literal ])))) ;) (expression_statement "*(undefined4 *)(param_5 + 0xc) = local_2c;" (assignment_expression "*(undefined4 *)(param_5 + 0xc) = local_2c" (pointer_expression "*(undefined4 *)(param_5 + 0xc)" * (cast_expression "(undefined4 *)(param_5 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc)" ( (binary_expression "param_5 + 0xc" identifier + number_literal) )))) = identifier) ;) (return_statement "return unaff_retaddr;" 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) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression IDENT & LIT) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return IDENT ;) })))
(function_definition "uint * FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)\n\n{\n  uint uVar1;\n  uint *unaff_retaddr;\n  undefined4 local_2c;\n  byte local_24 [16];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *unaff_retaddr = uVar1;\n  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];\n  *(undefined4 *)(param_5 + 0xc) = local_2c;\n  return unaff_retaddr;\n}" (type_identifier "uint") (pointer_declarator "* FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)" (* "*") (function_declarator "FUN_00240310(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)" (identifier "FUN_00240310") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,uint param_4,\n                   int param_5,undefined4 param_6,undefined4 param_7)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) () ")")))) (compound_statement "{\n  uint uVar1;\n  uint *unaff_retaddr;\n  undefined4 local_2c;\n  byte local_24 [16];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x240319;\n  uVar1 = *(uint *)(param_5 + 0xc);\n  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;\n  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);\n  *unaff_retaddr = uVar1;\n  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];\n  *(undefined4 *)(param_5 + 0xc) = local_2c;\n  return unaff_retaddr;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "uint *unaff_retaddr;" (type_identifier "uint") (pointer_declarator "*unaff_retaddr" (* "*") (identifier "unaff_retaddr")) (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "byte local_24 [16];" (type_identifier "byte") (array_declarator "local_24 [16]" (identifier "local_24") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x240319;" (assignment_expression "uStack_14 = 0x240319" (identifier "uStack_14") (= "=") (number_literal "0x240319")) (; ";")) (expression_statement "uVar1 = *(uint *)(param_5 + 0xc);" (assignment_expression "uVar1 = *(uint *)(param_5 + 0xc)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(param_5 + 0xc)" (* "*") (cast_expression "(uint *)(param_5 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;" (assignment_expression "*(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208" (pointer_expression "*(uint *)(param_5 + 0xc)" (* "*") (cast_expression "(uint *)(param_5 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (binary_expression "uVar1 & 0xffffbfb5 | 0x208" (binary_expression "uVar1 & 0xffffbfb5" (identifier "uVar1") (& "&") (number_literal "0xffffbfb5")) (| "|") (number_literal "0x208"))) (; ";")) (expression_statement "FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);" (call_expression "FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7)" (identifier "FUN_002400f0") (argument_list "(local_24,param_2,param_3,param_4,param_5,param_6,param_7)" (( "(") (identifier "local_24") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") () ")"))) (; ";")) (expression_statement "*unaff_retaddr = uVar1;" (assignment_expression "*unaff_retaddr = uVar1" (pointer_expression "*unaff_retaddr" (* "*") (identifier "unaff_retaddr")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];" (assignment_expression "unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0]" (subscript_expression "unaff_retaddr[1]" (identifier "unaff_retaddr") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_4 & 0xffffff00 | (uint)local_24[0]" (binary_expression "param_4 & 0xffffff00" (identifier "param_4") (& "&") (number_literal "0xffffff00")) (| "|") (cast_expression "(uint)local_24[0]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_24[0]" (identifier "local_24") ([ "[") (number_literal "0") (] "]"))))) (; ";")) (expression_statement "*(undefined4 *)(param_5 + 0xc) = local_2c;" (assignment_expression "*(undefined4 *)(param_5 + 0xc) = local_2c" (pointer_expression "*(undefined4 *)(param_5 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_5 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc)" (( "(") (binary_expression "param_5 + 0xc" (identifier "param_5") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "local_2c")) (; ";")) (return_statement "return unaff_retaddr;" (return "return") (identifier "unaff_retaddr") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* std::num_put<wchar_t, std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >
   >::do_put(std::ostreambuf_iterator<wchar_t, std::char_traits<wchar_t> >, std::ios_base&, wchar_t,
   void const*) const */

var_4 *
std::num_put<var_2,std::ostreambuf_iterator<var_2,std::var_1<var_2>>>::var_3
          (var_4 *var_5,var_4 param_2,var_4 param_3,type_1 var_10,int var_6,
          var_4 param_6,var_4 param_7)

{
  type_1 var_7;
  var_4 local_24;
  type_2 bStack_20;
  var_4 uStack_14;
  
  uStack_14 = 0x240319;
  var_7 = *(type_1 *)(var_6 + 0xc);
  *(type_1 *)(var_6 + 0xc) = var_7 & 0xffffbfb5 | 0x208;
  var_8<var_9>(&local_24,param_2,param_3,var_10,var_6,param_6,param_7);
  *var_5 = local_24;
  var_5[1] = var_10 & 0xffffff00 | (type_1)bStack_20;
  *(type_1 *)(var_6 + 0xc) = var_7;
  return var_5;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

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

{
  uint uVar1;
  uint *unaff_retaddr;
  undefined4 local_2c;
  byte local_24 [16];
  undefined4 uStack_14;
  
  uStack_14 = 0x240319;
  uVar1 = *(uint *)(param_5 + 0xc);
  *(uint *)(param_5 + 0xc) = uVar1 & 0xffffbfb5 | 0x208;
  FUN_002400f0(local_24,param_2,param_3,param_4,param_5,param_6,param_7);
  *unaff_retaddr = uVar1;
  unaff_retaddr[1] = param_4 & 0xffffff00 | (uint)local_24[0];
  *(undefined4 *)(param_5 + 0xc) = local_2c;
  return unaff_retaddr;
}

