
/* std::wstring::insert(unsigned long, wchar_t const*) */

void __thiscall std::wstring::insert(wstring *this,ulong param_1,wchar_t *param_2)

{
  size_t sVar1;
  
  sVar1 = wcslen(param_2);
  insert(this,param_1,param_2,sVar1);
  return;
}



void FUN_002f2970(undefined8 param_1,undefined8 param_2,wchar_t *param_3)

{
  size_t sVar1;
  
  sVar1 = wcslen(param_3);
  FUN_002f2770(param_1,param_2,param_3,sVar1);
  return;
}


PUSH R12
MOV R12,RSI
PUSH RBP
MOV RBP,RDI
MOV RDI,RDX
PUSH RBX
MOV RBX,RDX
CALL 0x0013e150
MOV RDX,RBX
MOV RSI,R12
POP RBX
MOV RDI,RBP
MOV RCX,RAX
POP RBP
POP R12
JMP 0x002f2770
(translation_unit "void FUN_002f2970(undefined8 param_1,undefined8 param_2,wchar_t *param_3)\n\n{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_3);\n  FUN_002f2770(param_1,param_2,param_3,sVar1);\n  return;\n}\n\n" (function_definition "void FUN_002f2970(undefined8 param_1,undefined8 param_2,wchar_t *param_3)\n\n{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_3);\n  FUN_002f2770(param_1,param_2,param_3,sVar1);\n  return;\n}" primitive_type (function_declarator "FUN_002f2970(undefined8 param_1,undefined8 param_2,wchar_t *param_3)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,wchar_t *param_3)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "wchar_t *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_3);\n  FUN_002f2770(param_1,param_2,param_3,sVar1);\n  return;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (expression_statement "sVar1 = wcslen(param_3);" (assignment_expression "sVar1 = wcslen(param_3)" identifier = (call_expression "wcslen(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "FUN_002f2770(param_1,param_2,param_3,sVar1);" (call_expression "FUN_002f2770(param_1,param_2,param_3,sVar1)" identifier (argument_list "(param_1,param_2,param_3,sVar1)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* std::wstring::insert(unsigned long, wchar_t const*) */\n\nvoid __thiscall std::wstring::insert(wstring *this,ulong param_1,wchar_t *param_2)\n\n{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_2);\n  insert(this,param_1,param_2,sVar1);\n  return;\n}\n\n" comment (function_definition "void __thiscall std::wstring::insert(wstring *this,ulong param_1,wchar_t *param_2)\n\n{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_2);\n  insert(this,param_1,param_2,sVar1);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "std::wstring::" identifier : : identifier : :) (function_declarator "insert(wstring *this,ulong param_1,wchar_t *param_2)" identifier (parameter_list "(wstring *this,ulong param_1,wchar_t *param_2)" ( (parameter_declaration "wstring *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "ulong param_1" type_identifier identifier) , (parameter_declaration "wchar_t *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_2);\n  insert(this,param_1,param_2,sVar1);\n  return;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (expression_statement "sVar1 = wcslen(param_2);" (assignment_expression "sVar1 = wcslen(param_2)" identifier = (call_expression "wcslen(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "insert(this,param_1,param_2,sVar1);" (call_expression "insert(this,param_1,param_2,sVar1)" identifier (argument_list "(this,param_1,param_2,sVar1)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_002f2970(undefined8 param_1,undefined8 param_2,wchar_t *param_3)\n\n{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_3);\n  FUN_002f2770(param_1,param_2,param_3,sVar1);\n  return;\n}\n\n" (function_definition "void FUN_002f2970(undefined8 param_1,undefined8 param_2,wchar_t *param_3)\n\n{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_3);\n  FUN_002f2770(param_1,param_2,param_3,sVar1);\n  return;\n}" primitive_type (function_declarator "FUN_002f2970(undefined8 param_1,undefined8 param_2,wchar_t *param_3)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2,wchar_t *param_3)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "wchar_t *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_3);\n  FUN_002f2770(param_1,param_2,param_3,sVar1);\n  return;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (expression_statement "sVar1 = wcslen(param_3);" (assignment_expression "sVar1 = wcslen(param_3)" identifier = (call_expression "wcslen(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;) (expression_statement "FUN_002f2770(param_1,param_2,param_3,sVar1);" (call_expression "FUN_002f2770(param_1,param_2,param_3,sVar1)" identifier (argument_list "(param_1,param_2,param_3,sVar1)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_002f2970(undefined8 param_1,undefined8 param_2,wchar_t *param_3)\n\n{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_3);\n  FUN_002f2770(param_1,param_2,param_3,sVar1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_002f2970(undefined8 param_1,undefined8 param_2,wchar_t *param_3)" (identifier "FUN_002f2970") (parameter_list "(undefined8 param_1,undefined8 param_2,wchar_t *param_3)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "wchar_t *param_3" (type_identifier "wchar_t") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  size_t sVar1;\n  \n  sVar1 = wcslen(param_3);\n  FUN_002f2770(param_1,param_2,param_3,sVar1);\n  return;\n}" ({ "{") (declaration "size_t sVar1;" (primitive_type "size_t") (identifier "sVar1") (; ";")) (expression_statement "sVar1 = wcslen(param_3);" (assignment_expression "sVar1 = wcslen(param_3)" (identifier "sVar1") (= "=") (call_expression "wcslen(param_3)" (identifier "wcslen") (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (expression_statement "FUN_002f2770(param_1,param_2,param_3,sVar1);" (call_expression "FUN_002f2770(param_1,param_2,param_3,sVar1)" (identifier "FUN_002f2770") (argument_list "(param_1,param_2,param_3,sVar1)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "sVar1") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* std::wstring::insert(unsigned long, wchar_t const*) */

void __thiscall std::type_1::function_1(type_1 *this,type_2 param_1,type_3 *param_2)

{
  size_t sVar1;
  
  sVar1 = var_1(param_2);
  function_1(this,param_1,param_2,sVar1);
  return;
}


(translation_unit (function_definition type: (primitive_type) 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: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (return_statement))))

void MASKED(undefined8 param_1,undefined8 param_2,wchar_t *param_3)

{
  size_t sVar1;
  
  sVar1 = wcslen(param_3);
  FUN_002f2770(param_1,param_2,param_3,sVar1);
  return;
}

