
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

char * save(char *s)

{
  size_t sVar1;
  char *__dest;
  
  sVar1 = strlen(s);
  __dest = (char *)ecalloc(sVar1 + 1,1);
  strcpy(__dest,s);
  return __dest;
}



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

char * FUN_00012c70(char *param_1)

{
  size_t sVar1;
  char *__dest;
  
  sVar1 = strlen(param_1);
  __dest = (char *)FUN_00012c20(sVar1 + 1,1);
  strcpy(__dest,param_1);
  return __dest;
}


PUSH EDI
PUSH ESI
PUSH EBX
MOV ESI,dword ptr [ESP + 0x10]
CALL 0x000129a0
ADD EBX,0x2921c
SUB ESP,0xc
PUSH ESI
CALL 0x00012290
POP EDX
POP ECX
PUSH 0x1
ADD EAX,0x1
PUSH EAX
CALL 0x00012c20
MOV EDI,EAX
POP EAX
POP EDX
PUSH ESI
PUSH EDI
CALL 0x000121e0
ADD ESP,0x10
MOV EAX,EDI
POP EBX
POP ESI
POP EDI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nchar * FUN_00012c70(char *param_1)\n\n{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(param_1);\n  __dest = (char *)FUN_00012c20(sVar1 + 1,1);\n  strcpy(__dest,param_1);\n  return __dest;\n}\n\n" comment (function_definition "char * FUN_00012c70(char *param_1)\n\n{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(param_1);\n  __dest = (char *)FUN_00012c20(sVar1 + 1,1);\n  strcpy(__dest,param_1);\n  return __dest;\n}" primitive_type (pointer_declarator "* FUN_00012c70(char *param_1)" * (function_declarator "FUN_00012c70(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) )))) (compound_statement "{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(param_1);\n  __dest = (char *)FUN_00012c20(sVar1 + 1,1);\n  strcpy(__dest,param_1);\n  return __dest;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (expression_statement "sVar1 = strlen(param_1);" (assignment_expression "sVar1 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "__dest = (char *)FUN_00012c20(sVar1 + 1,1);" (assignment_expression "__dest = (char *)FUN_00012c20(sVar1 + 1,1)" identifier = (cast_expression "(char *)FUN_00012c20(sVar1 + 1,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012c20(sVar1 + 1,1)" identifier (argument_list "(sVar1 + 1,1)" ( (binary_expression "sVar1 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "strcpy(__dest,param_1);" (call_expression "strcpy(__dest,param_1)" identifier (argument_list "(__dest,param_1)" ( identifier , identifier ))) ;) (return_statement "return __dest;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nchar * save(char *s)\n\n{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(s);\n  __dest = (char *)ecalloc(sVar1 + 1,1);\n  strcpy(__dest,s);\n  return __dest;\n}\n\n" comment comment (function_definition "char * save(char *s)\n\n{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(s);\n  __dest = (char *)ecalloc(sVar1 + 1,1);\n  strcpy(__dest,s);\n  return __dest;\n}" primitive_type (pointer_declarator "* save(char *s)" * (function_declarator "save(char *s)" identifier (parameter_list "(char *s)" ( (parameter_declaration "char *s" primitive_type (pointer_declarator "*s" * identifier)) )))) (compound_statement "{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(s);\n  __dest = (char *)ecalloc(sVar1 + 1,1);\n  strcpy(__dest,s);\n  return __dest;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (expression_statement "sVar1 = strlen(s);" (assignment_expression "sVar1 = strlen(s)" identifier = (call_expression "strlen(s)" identifier (argument_list "(s)" ( identifier )))) ;) (expression_statement "__dest = (char *)ecalloc(sVar1 + 1,1);" (assignment_expression "__dest = (char *)ecalloc(sVar1 + 1,1)" identifier = (cast_expression "(char *)ecalloc(sVar1 + 1,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ecalloc(sVar1 + 1,1)" identifier (argument_list "(sVar1 + 1,1)" ( (binary_expression "sVar1 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "strcpy(__dest,s);" (call_expression "strcpy(__dest,s)" identifier (argument_list "(__dest,s)" ( identifier , identifier ))) ;) (return_statement "return __dest;" return identifier ;) })))
(translation_unit "char * FUN_00012c70(char *param_1)\n\n{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(param_1);\n  __dest = (char *)FUN_00012c20(sVar1 + 1,1);\n  strcpy(__dest,param_1);\n  return __dest;\n}\n\n" (function_definition "char * FUN_00012c70(char *param_1)\n\n{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(param_1);\n  __dest = (char *)FUN_00012c20(sVar1 + 1,1);\n  strcpy(__dest,param_1);\n  return __dest;\n}" primitive_type (pointer_declarator "* FUN_00012c70(char *param_1)" * (function_declarator "FUN_00012c70(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) )))) (compound_statement "{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(param_1);\n  __dest = (char *)FUN_00012c20(sVar1 + 1,1);\n  strcpy(__dest,param_1);\n  return __dest;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "char *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (expression_statement "sVar1 = strlen(param_1);" (assignment_expression "sVar1 = strlen(param_1)" identifier = (call_expression "strlen(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "__dest = (char *)FUN_00012c20(sVar1 + 1,1);" (assignment_expression "__dest = (char *)FUN_00012c20(sVar1 + 1,1)" identifier = (cast_expression "(char *)FUN_00012c20(sVar1 + 1,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00012c20(sVar1 + 1,1)" identifier (argument_list "(sVar1 + 1,1)" ( (binary_expression "sVar1 + 1" identifier + number_literal) , number_literal ))))) ;) (expression_statement "strcpy(__dest,param_1);" (call_expression "strcpy(__dest,param_1)" identifier (argument_list "(__dest,param_1)" ( identifier , identifier ))) ;) (return_statement "return __dest;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return IDENT ;) })))
(function_definition "char * FUN_00012c70(char *param_1)\n\n{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(param_1);\n  __dest = (char *)FUN_00012c20(sVar1 + 1,1);\n  strcpy(__dest,param_1);\n  return __dest;\n}" (primitive_type "char") (pointer_declarator "* FUN_00012c70(char *param_1)" (* "*") (function_declarator "FUN_00012c70(char *param_1)" (identifier "FUN_00012c70") (parameter_list "(char *param_1)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")")))) (compound_statement "{\n  size_t sVar1;\n  char *__dest;\n  \n  sVar1 = strlen(param_1);\n  __dest = (char *)FUN_00012c20(sVar1 + 1,1);\n  strcpy(__dest,param_1);\n  return __dest;\n}" ({ "{") (declaration "size_t sVar1;" (primitive_type "size_t") (identifier "sVar1") (; ";")) (declaration "char *__dest;" (primitive_type "char") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (expression_statement "sVar1 = strlen(param_1);" (assignment_expression "sVar1 = strlen(param_1)" (identifier "sVar1") (= "=") (call_expression "strlen(param_1)" (identifier "strlen") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "__dest = (char *)FUN_00012c20(sVar1 + 1,1);" (assignment_expression "__dest = (char *)FUN_00012c20(sVar1 + 1,1)" (identifier "__dest") (= "=") (cast_expression "(char *)FUN_00012c20(sVar1 + 1,1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00012c20(sVar1 + 1,1)" (identifier "FUN_00012c20") (argument_list "(sVar1 + 1,1)" (( "(") (binary_expression "sVar1 + 1" (identifier "sVar1") (+ "+") (number_literal "1")) (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "strcpy(__dest,param_1);" (call_expression "strcpy(__dest,param_1)" (identifier "strcpy") (argument_list "(__dest,param_1)" (( "(") (identifier "__dest") (, ",") (identifier "param_1") () ")"))) (; ";")) (return_statement "return __dest;" (return "return") (identifier "__dest") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

char * function_1(char *s)

{
  size_t var_3;
  char *__dest;
  
  var_3 = var_1(s);
  __dest = (char *)var_2(var_3 + 1,1);
  var_4(__dest,s);
  return __dest;
}


(translation_unit (function_definition type: (primitive_type) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier)))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_statement (identifier)))))

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

char * MASKED(char *param_1)

{
  size_t sVar1;
  char *__dest;
  
  sVar1 = strlen(param_1);
  __dest = (char *)FUN_00012c20(sVar1 + 1,1);
  strcpy(__dest,param_1);
  return __dest;
}

