
/* runtime_error(char const*) */

void __thiscall std::runtime_error::runtime_error(runtime_error *this,char *param_1)

{
  void *pvVar1;
  runtime_error arStack_28 [16];
  
  runtime_error(arStack_28,"");
                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */
  _ITM_memcpyRnWt(this,arStack_28,0x10);
  pvVar1 = (void *)_txnal_runtime_error_get_msg(this);
  _txnal_cow_string_C1_for_exceptions(pvVar1,param_1,this);
  ~runtime_error(arStack_28);
  return;
}



void FUN_00331960(undefined8 param_1,undefined8 param_2)

{
  undefined8 uVar1;
  undefined1 auStack_28 [16];
  
  FUN_003310e0(auStack_28,"");
                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */
  _ITM_memcpyRnWt(param_1,auStack_28,0x10);
  uVar1 = FUN_003313e0(param_1);
  FUN_00331300(uVar1,param_2,param_1);
  FUN_0033a060(auStack_28);
  return;
}


PUSH R12
MOV R12,RSI
LEA RSI,[0x3a5556]
PUSH RBP
MOV RBP,RDI
PUSH RBX
SUB RSP,0x10
MOV RBX,RSP
MOV RDI,RBX
CALL 0x003310e0
MOV EDX,0x10
MOV RSI,RBX
MOV RDI,RBP
CALL 0x00149730
MOV RDI,RBP
CALL 0x003313e0
MOV RDX,RBP
MOV RSI,R12
MOV RDI,RAX
CALL 0x00331300
MOV RDI,RBX
CALL 0x0033a060
ADD RSP,0x10
POP RBX
POP RBP
POP R12
RET
(translation_unit "void FUN_00331960(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  \n  FUN_003310e0(auStack_28,"");\n                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */\n  _ITM_memcpyRnWt(param_1,auStack_28,0x10);\n  uVar1 = FUN_003313e0(param_1);\n  FUN_00331300(uVar1,param_2,param_1);\n  FUN_0033a060(auStack_28);\n  return;\n}\n\n" (function_definition "void FUN_00331960(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  \n  FUN_003310e0(auStack_28,"");\n                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */\n  _ITM_memcpyRnWt(param_1,auStack_28,0x10);\n  uVar1 = FUN_003313e0(param_1);\n  FUN_00331300(uVar1,param_2,param_1);\n  FUN_0033a060(auStack_28);\n  return;\n}" primitive_type (function_declarator "FUN_00331960(undefined8 param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  \n  FUN_003310e0(auStack_28,"");\n                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */\n  _ITM_memcpyRnWt(param_1,auStack_28,0x10);\n  uVar1 = FUN_003313e0(param_1);\n  FUN_00331300(uVar1,param_2,param_1);\n  FUN_0033a060(auStack_28);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined1 auStack_28 [16];" type_identifier (array_declarator "auStack_28 [16]" identifier [ number_literal ]) ;) (expression_statement "FUN_003310e0(auStack_28,"");" (call_expression "FUN_003310e0(auStack_28,"")" identifier (argument_list "(auStack_28,"")" ( identifier , (string_literal """" " ") ))) ;) comment (expression_statement "_ITM_memcpyRnWt(param_1,auStack_28,0x10);" (call_expression "_ITM_memcpyRnWt(param_1,auStack_28,0x10)" identifier (argument_list "(param_1,auStack_28,0x10)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar1 = FUN_003313e0(param_1);" (assignment_expression "uVar1 = FUN_003313e0(param_1)" identifier = (call_expression "FUN_003313e0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "FUN_00331300(uVar1,param_2,param_1);" (call_expression "FUN_00331300(uVar1,param_2,param_1)" identifier (argument_list "(uVar1,param_2,param_1)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0033a060(auStack_28);" (call_expression "FUN_0033a060(auStack_28)" identifier (argument_list "(auStack_28)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* runtime_error(char const*) */\n\nvoid __thiscall std::runtime_error::runtime_error(runtime_error *this,char *param_1)\n\n{\n  void *pvVar1;\n  runtime_error arStack_28 [16];\n  \n  runtime_error(arStack_28,"");\n                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */\n  _ITM_memcpyRnWt(this,arStack_28,0x10);\n  pvVar1 = (void *)_txnal_runtime_error_get_msg(this);\n  _txnal_cow_string_C1_for_exceptions(pvVar1,param_1,this);\n  ~runtime_error(arStack_28);\n  return;\n}\n\n" comment (function_definition "void __thiscall std::runtime_error::runtime_error(runtime_error *this,char *param_1)\n\n{\n  void *pvVar1;\n  runtime_error arStack_28 [16];\n  \n  runtime_error(arStack_28,"");\n                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */\n  _ITM_memcpyRnWt(this,arStack_28,0x10);\n  pvVar1 = (void *)_txnal_runtime_error_get_msg(this);\n  _txnal_cow_string_C1_for_exceptions(pvVar1,param_1,this);\n  ~runtime_error(arStack_28);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "std::runtime_error::" identifier : : identifier : :) (function_declarator "runtime_error(runtime_error *this,char *param_1)" identifier (parameter_list "(runtime_error *this,char *param_1)" ( (parameter_declaration "runtime_error *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  void *pvVar1;\n  runtime_error arStack_28 [16];\n  \n  runtime_error(arStack_28,"");\n                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */\n  _ITM_memcpyRnWt(this,arStack_28,0x10);\n  pvVar1 = (void *)_txnal_runtime_error_get_msg(this);\n  _txnal_cow_string_C1_for_exceptions(pvVar1,param_1,this);\n  ~runtime_error(arStack_28);\n  return;\n}" { (declaration "void *pvVar1;" primitive_type (pointer_declarator "*pvVar1" * identifier) ;) (declaration "runtime_error arStack_28 [16];" type_identifier (array_declarator "arStack_28 [16]" identifier [ number_literal ]) ;) (expression_statement "runtime_error(arStack_28,"");" (call_expression "runtime_error(arStack_28,"")" identifier (argument_list "(arStack_28,"")" ( identifier , (string_literal """" " ") ))) ;) comment (expression_statement "_ITM_memcpyRnWt(this,arStack_28,0x10);" (call_expression "_ITM_memcpyRnWt(this,arStack_28,0x10)" identifier (argument_list "(this,arStack_28,0x10)" ( identifier , identifier , number_literal ))) ;) (expression_statement "pvVar1 = (void *)_txnal_runtime_error_get_msg(this);" (assignment_expression "pvVar1 = (void *)_txnal_runtime_error_get_msg(this)" identifier = (cast_expression "(void *)_txnal_runtime_error_get_msg(this)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "_txnal_runtime_error_get_msg(this)" identifier (argument_list "(this)" ( identifier ))))) ;) (expression_statement "_txnal_cow_string_C1_for_exceptions(pvVar1,param_1,this);" (call_expression "_txnal_cow_string_C1_for_exceptions(pvVar1,param_1,this)" identifier (argument_list "(pvVar1,param_1,this)" ( identifier , identifier , identifier ))) ;) (expression_statement "~runtime_error(arStack_28);" (unary_expression "~runtime_error(arStack_28)" ~ (call_expression "runtime_error(arStack_28)" identifier (argument_list "(arStack_28)" ( identifier )))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00331960(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  \n  FUN_003310e0(auStack_28,"");\n                    \n  _ITM_memcpyRnWt(param_1,auStack_28,0x10);\n  uVar1 = FUN_003313e0(param_1);\n  FUN_00331300(uVar1,param_2,param_1);\n  FUN_0033a060(auStack_28);\n  return;\n}\n\n" (function_definition "void FUN_00331960(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  \n  FUN_003310e0(auStack_28,"");\n                    \n  _ITM_memcpyRnWt(param_1,auStack_28,0x10);\n  uVar1 = FUN_003313e0(param_1);\n  FUN_00331300(uVar1,param_2,param_1);\n  FUN_0033a060(auStack_28);\n  return;\n}" primitive_type (function_declarator "FUN_00331960(undefined8 param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  \n  FUN_003310e0(auStack_28,"");\n                    \n  _ITM_memcpyRnWt(param_1,auStack_28,0x10);\n  uVar1 = FUN_003313e0(param_1);\n  FUN_00331300(uVar1,param_2,param_1);\n  FUN_0033a060(auStack_28);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined1 auStack_28 [16];" type_identifier (array_declarator "auStack_28 [16]" identifier [ number_literal ]) ;) (expression_statement "FUN_003310e0(auStack_28,"");" (call_expression "FUN_003310e0(auStack_28,"")" identifier (argument_list "(auStack_28,"")" ( identifier , (string_literal """" " ") ))) ;) (expression_statement "_ITM_memcpyRnWt(param_1,auStack_28,0x10);" (call_expression "_ITM_memcpyRnWt(param_1,auStack_28,0x10)" identifier (argument_list "(param_1,auStack_28,0x10)" ( identifier , identifier , number_literal ))) ;) (expression_statement "uVar1 = FUN_003313e0(param_1);" (assignment_expression "uVar1 = FUN_003313e0(param_1)" identifier = (call_expression "FUN_003313e0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "FUN_00331300(uVar1,param_2,param_1);" (call_expression "FUN_00331300(uVar1,param_2,param_1)" identifier (argument_list "(uVar1,param_2,param_1)" ( identifier , identifier , identifier ))) ;) (expression_statement "FUN_0033a060(auStack_28);" (call_expression "FUN_0033a060(auStack_28)" identifier (argument_list "(auStack_28)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " ") ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00331960(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  \n  FUN_003310e0(auStack_28,"");\n                    \n  _ITM_memcpyRnWt(param_1,auStack_28,0x10);\n  uVar1 = FUN_003313e0(param_1);\n  FUN_00331300(uVar1,param_2,param_1);\n  FUN_0033a060(auStack_28);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00331960(undefined8 param_1,undefined8 param_2)" (identifier "FUN_00331960") (parameter_list "(undefined8 param_1,undefined8 param_2)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  undefined1 auStack_28 [16];\n  \n  FUN_003310e0(auStack_28,"");\n                    \n  _ITM_memcpyRnWt(param_1,auStack_28,0x10);\n  uVar1 = FUN_003313e0(param_1);\n  FUN_00331300(uVar1,param_2,param_1);\n  FUN_0033a060(auStack_28);\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "undefined1 auStack_28 [16];" (type_identifier "undefined1") (array_declarator "auStack_28 [16]" (identifier "auStack_28") ([ "[") (number_literal "16") (] "]")) (; ";")) (expression_statement "FUN_003310e0(auStack_28,"");" (call_expression "FUN_003310e0(auStack_28,"")" (identifier "FUN_003310e0") (argument_list "(auStack_28,"")" (( "(") (identifier "auStack_28") (, ",") (string_literal """" (" """) (" """)) () ")"))) (; ";")) (expression_statement "_ITM_memcpyRnWt(param_1,auStack_28,0x10);" (call_expression "_ITM_memcpyRnWt(param_1,auStack_28,0x10)" (identifier "_ITM_memcpyRnWt") (argument_list "(param_1,auStack_28,0x10)" (( "(") (identifier "param_1") (, ",") (identifier "auStack_28") (, ",") (number_literal "0x10") () ")"))) (; ";")) (expression_statement "uVar1 = FUN_003313e0(param_1);" (assignment_expression "uVar1 = FUN_003313e0(param_1)" (identifier "uVar1") (= "=") (call_expression "FUN_003313e0(param_1)" (identifier "FUN_003313e0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "FUN_00331300(uVar1,param_2,param_1);" (call_expression "FUN_00331300(uVar1,param_2,param_1)" (identifier "FUN_00331300") (argument_list "(uVar1,param_2,param_1)" (( "(") (identifier "uVar1") (, ",") (identifier "param_2") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "FUN_0033a060(auStack_28);" (call_expression "FUN_0033a060(auStack_28)" (identifier "FUN_0033a060") (argument_list "(auStack_28)" (( "(") (identifier "auStack_28") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* runtime_error(char const*) */

void __thiscall std::function_1::function_1(function_1 *this,char *param_1)

{
  void *pvVar1;
  function_1 arStack_28 [16];
  
  function_1(arStack_28,"");
                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */
  var_1(this,arStack_28,0x10);
  pvVar1 = (void *)var_2(this);
  var_3(pvVar1,param_1,this);
  ~function_1(arStack_28);
  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)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (string_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal)))) (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)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement))))

void MASKED(undefined8 param_1,undefined8 param_2)

{
  undefined8 uVar1;
  undefined1 auStack_28 [16];
  
  FUN_003310e0(auStack_28,"");
                    /* try { // try from 0033198b to 003319a5 has its CatchHandler @ 003319b7 */
  _ITM_memcpyRnWt(param_1,auStack_28,0x10);
  uVar1 = FUN_003313e0(param_1);
  FUN_00331300(uVar1,param_2,param_1);
  FUN_0033a060(auStack_28);
  return;
}

