
/* std::__facet_shims::(anonymous
   namespace)::money_put_shim<char>::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >,
   bool, std::ios_base&, char, long double) const */

void std::__facet_shims::(anonymous_namespace)::money_put_shim<char>::do_put
               (long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,
               undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)

{
  __money_put<char>(*(__facet_shims **)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6
                    ,param_7,param_8,0);
  return;
}



void FUN_002ac490(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,
                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)

{
  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,
               param_8,0);
  return;
}


SUB RSP,0x10
MOV RDI,qword ptr [RDI + 0x10]
MOVZX ECX,CL
MOVSX R9D,R9B
PUSH 0x0
PUSH qword ptr [RSP + 0x28]
PUSH qword ptr [RSP + 0x28]
CALL 0x002b3a50
ADD RSP,0x28
RET
(translation_unit "void FUN_002ac490(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)\n\n{\n  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);\n  return;\n}\n\n" (function_definition "void FUN_002ac490(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)\n\n{\n  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);\n  return;\n}" primitive_type (function_declarator "FUN_002ac490(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined1 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "char param_6" primitive_type identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) , (parameter_declaration "undefined8 param_8" type_identifier identifier) ))) (compound_statement "{\n  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);\n  return;\n}" { (expression_statement "FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);" (call_expression "FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , identifier , identifier , identifier , identifier , (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier , number_literal ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* std::__facet_shims::(anonymous\n   namespace)::money_put_shim<char>::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >,\n   bool, std::ios_base&, char, long double) const */\n\nvoid std::__facet_shims::(anonymous_namespace)::money_put_shim<char>::do_put\n               (long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n               undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)\n\n{\n  __money_put<char>(*(__facet_shims **)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6\n                    ,param_7,param_8,0);\n  return;\n}\n\n" comment (function_definition "void std::__facet_shims::(anonymous_namespace)::money_put_shim<char>::do_put\n               (long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n               undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)\n\n{\n  __money_put<char>(*(__facet_shims **)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6\n                    ,param_7,param_8,0);\n  return;\n}" primitive_type (ERROR "std::__facet_shims::(anonymous_namespace)::money_put_shim<char>::" identifier : : identifier : : ( identifier ) : : identifier < primitive_type > : :) (function_declarator "do_put\n               (long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n               undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n               undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined1 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "char param_6" primitive_type identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) , (parameter_declaration "undefined8 param_8" type_identifier identifier) ))) (compound_statement "{\n  __money_put<char>(*(__facet_shims **)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6\n                    ,param_7,param_8,0);\n  return;\n}" { (expression_statement "__money_put<char>(*(__facet_shims **)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6\n                    ,param_7,param_8,0);" (binary_expression "__money_put<char>(*(__facet_shims **)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6\n                    ,param_7,param_8,0)" (binary_expression "__money_put<char" identifier < identifier) > (parenthesized_expression "(*(__facet_shims **)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6\n                    ,param_7,param_8,0)" ( (comma_expression "*(__facet_shims **)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6\n                    ,param_7,param_8,0" (pointer_expression "*(__facet_shims **)(param_1 + 0x10)" * (cast_expression "(__facet_shims **)(param_1 + 0x10)" ( (type_descriptor "__facet_shims **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , (comma_expression "param_2,param_3,param_4,param_5,(int)param_6\n                    ,param_7,param_8,0" identifier , (comma_expression "param_3,param_4,param_5,(int)param_6\n                    ,param_7,param_8,0" identifier , (comma_expression "param_4,param_5,(int)param_6\n                    ,param_7,param_8,0" identifier , (comma_expression "param_5,(int)param_6\n                    ,param_7,param_8,0" identifier , (comma_expression "(int)param_6\n                    ,param_7,param_8,0" (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier) , (comma_expression "param_7,param_8,0" identifier , (comma_expression "param_8,0" identifier , number_literal)))))))) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_002ac490(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)\n\n{\n  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);\n  return;\n}\n\n" (function_definition "void FUN_002ac490(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)\n\n{\n  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);\n  return;\n}" primitive_type (function_declarator "FUN_002ac490(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "undefined1 param_4" type_identifier identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "char param_6" primitive_type identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) , (parameter_declaration "undefined8 param_8" type_identifier identifier) ))) (compound_statement "{\n  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);\n  return;\n}" { (expression_statement "FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);" (call_expression "FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0)" identifier (argument_list "(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0)" ( (pointer_expression "*(undefined8 *)(param_1 + 0x10)" * (cast_expression "(undefined8 *)(param_1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) )))) , identifier , identifier , identifier , identifier , (cast_expression "(int)param_6" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier , number_literal ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) 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) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , IDENT , LIT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_002ac490(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)\n\n{\n  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_002ac490(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)" (identifier "FUN_002ac490") (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,\n                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "undefined1 param_4" (type_identifier "undefined1") (identifier "param_4")) (, ",") (parameter_declaration "undefined8 param_5" (type_identifier "undefined8") (identifier "param_5")) (, ",") (parameter_declaration "char param_6" (primitive_type "char") (identifier "param_6")) (, ",") (parameter_declaration "undefined8 param_7" (type_identifier "undefined8") (identifier "param_7")) (, ",") (parameter_declaration "undefined8 param_8" (type_identifier "undefined8") (identifier "param_8")) () ")"))) (compound_statement "{\n  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);\n  return;\n}" ({ "{") (expression_statement "FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0);" (call_expression "FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0)" (identifier "FUN_002b3a50") (argument_list "(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,\n               param_8,0)" (( "(") (pointer_expression "*(undefined8 *)(param_1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (cast_expression "(int)param_6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_6")) (, ",") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (number_literal "0") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* std::__facet_shims::(anonymous
   namespace)::money_put_shim<char>::do_put(std::ostreambuf_iterator<char, std::char_traits<char> >,
   bool, std::ios_base&, char, long double) const */

void std::type_3::(anonymous_namespace)::money_put_shim<char>::function_1
               (long var_3,type_1 param_2,type_1 param_3,type_2 param_4,
               type_1 param_5,char param_6,type_1 param_7,type_1 param_8)

{
  var_1<var_2>(*(type_3 **)(var_3 + 0x10),param_2,param_3,param_4,param_5,(int)param_6
                    ,param_7,param_8,0);
  return;
}


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

void MASKED(long param_1,undefined8 param_2,undefined8 param_3,undefined1 param_4,
                 undefined8 param_5,char param_6,undefined8 param_7,undefined8 param_8)

{
  FUN_002b3a50(*(undefined8 *)(param_1 + 0x10),param_2,param_3,param_4,param_5,(int)param_6,param_7,
               param_8,0);
  return;
}

