
/* std::string::TEMPNAMEPLACEHOLDERVALUE(char) */

string * __thiscall std::string::operator=(string *this,char param_1)

{
  _M_replace_aux(this,0,*(ulong *)(this + 8),1,param_1);
  return this;
}



long FUN_0027e550(long param_1,char param_2)

{
  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);
  return param_1;
}


PUSH RBX
MOV RDX,qword ptr [RDI + 0x8]
MOV RBX,RDI
MOVSX R8D,SIL
MOV ECX,0x1
XOR ESI,ESI
CALL 0x0027e3b0
MOV RAX,RBX
POP RBX
RET
(translation_unit "long FUN_0027e550(long param_1,char param_2)\n\n{\n  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);\n  return param_1;\n}\n\n" (function_definition "long FUN_0027e550(long param_1,char param_2)\n\n{\n  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);\n  return param_1;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_0027e550(long param_1,char param_2)" identifier (parameter_list "(long param_1,char param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char param_2" primitive_type identifier) ))) (compound_statement "{\n  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);\n  return param_1;\n}" { (expression_statement "FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);" (call_expression "FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2)" identifier (argument_list "(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2)" ( identifier , number_literal , (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , number_literal , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (return_statement "return param_1;" return identifier ;) })))
(translation_unit "/* std::string::TEMPNAMEPLACEHOLDERVALUE(char) */\n\nstring * __thiscall std::string::operator=(string *this,char param_1)\n\n{\n  _M_replace_aux(this,0,*(ulong *)(this + 8),1,param_1);\n  return this;\n}\n\n" comment (ERROR "string * __thiscall std::string::operator=(string *this,char param_1)" (binary_expression "string * __thiscall std::string::operator=(string *this,char param_1)" identifier * (assignment_expression "__thiscall std::string::operator=(string *this,char param_1)" identifier (ERROR "std::string::operator" identifier : : identifier : : identifier) = (parenthesized_expression "(string *this,char param_1)" ( (comma_expression "string *this,char param_1" (binary_expression "string *this" identifier * identifier) , (ERROR "char" identifier) identifier) ))))) (compound_statement "{\n  _M_replace_aux(this,0,*(ulong *)(this + 8),1,param_1);\n  return this;\n}" { (expression_statement "_M_replace_aux(this,0,*(ulong *)(this + 8),1,param_1);" (call_expression "_M_replace_aux(this,0,*(ulong *)(this + 8),1,param_1)" identifier (argument_list "(this,0,*(ulong *)(this + 8),1,param_1)" ( identifier , number_literal , (pointer_expression "*(ulong *)(this + 8)" * (cast_expression "(ulong *)(this + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 8)" ( (binary_expression "this + 8" identifier + number_literal) )))) , number_literal , identifier ))) ;) (return_statement "return this;" return identifier ;) }))
(translation_unit "long FUN_0027e550(long param_1,char param_2)\n\n{\n  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);\n  return param_1;\n}\n\n" (function_definition "long FUN_0027e550(long param_1,char param_2)\n\n{\n  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);\n  return param_1;\n}" (sized_type_specifier "long" long) (function_declarator "FUN_0027e550(long param_1,char param_2)" identifier (parameter_list "(long param_1,char param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "char param_2" primitive_type identifier) ))) (compound_statement "{\n  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);\n  return param_1;\n}" { (expression_statement "FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);" (call_expression "FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2)" identifier (argument_list "(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2)" ( identifier , number_literal , (pointer_expression "*(undefined8 *)(param_1 + 8)" * (cast_expression "(undefined8 *)(param_1 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) , number_literal , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (return_statement "return param_1;" return identifier ;) })))
(translation_unit (function_definition (sized_type_specifier long) (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))) ;) (return_statement return IDENT ;) })))
(function_definition "long FUN_0027e550(long param_1,char param_2)\n\n{\n  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);\n  return param_1;\n}" (sized_type_specifier "long" (long "long")) (function_declarator "FUN_0027e550(long param_1,char param_2)" (identifier "FUN_0027e550") (parameter_list "(long param_1,char param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "char param_2" (primitive_type "char") (identifier "param_2")) () ")"))) (compound_statement "{\n  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);\n  return param_1;\n}" ({ "{") (expression_statement "FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);" (call_expression "FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2)" (identifier "FUN_0027e3b0") (argument_list "(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined8 *)(param_1 + 8)" (* "*") (cast_expression "(undefined8 *)(param_1 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (, ",") (number_literal "1") (, ",") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) () ")"))) (; ";")) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}")))

/* std::string::TEMPNAMEPLACEHOLDERVALUE(char) */

string * __thiscall std::string::operator=(string *var_2,char param_1)

{
  var_1(var_2,0,*(type_1 *)(var_2 + 8),1,param_1);
  return var_2;
}


(translation_unit (function_definition type: (sized_type_specifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (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))))) (number_literal) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (return_statement (identifier)))))

long MASKED(long param_1,char param_2)

{
  FUN_0027e3b0(param_1,0,*(undefined8 *)(param_1 + 8),1,(int)param_2);
  return param_1;
}

