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

int prefix_destroy(BIO *b)

{
  undefined4 *ptr;
  
  ptr = (undefined4 *)BIO_get_data(b);
  CRYPTO_free((void *)*ptr);
  CRYPTO_free(ptr);
  return 1;
}



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

undefined4 FUN_00077660(undefined4 param_1)

{
  undefined4 *ptr;
  
  ptr = (undefined4 *)BIO_get_data(param_1);
  CRYPTO_free((void *)*ptr);
  CRYPTO_free(ptr);
  return 1;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x0002c7d0
ADD EBX,0x45410
SUB ESP,0xc
PUSH dword ptr [ESP + 0x1c]
CALL 0x00028e30
LEA EDI,[EBX + 0xfffd5afc]
ADD ESP,0xc
PUSH 0x47
MOV ESI,EAX
PUSH EDI
PUSH dword ptr [EAX]
CALL 0x00028c20
ADD ESP,0xc
PUSH 0x48
PUSH EDI
PUSH ESI
CALL 0x00028c20
ADD ESP,0x10
MOV EAX,0x1
POP EBX
POP ESI
POP EDI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00077660(undefined4 param_1)\n\n{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(param_1);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}\n\n" comment (function_definition "undefined4 FUN_00077660(undefined4 param_1)\n\n{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(param_1);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}" type_identifier (function_declarator "FUN_00077660(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(param_1);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}" { (declaration "undefined4 *ptr;" type_identifier (pointer_declarator "*ptr" * identifier) ;) (expression_statement "ptr = (undefined4 *)BIO_get_data(param_1);" (assignment_expression "ptr = (undefined4 *)BIO_get_data(param_1)" identifier = (cast_expression "(undefined4 *)BIO_get_data(param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "BIO_get_data(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "CRYPTO_free((void *)*ptr);" (call_expression "CRYPTO_free((void *)*ptr)" identifier (argument_list "((void *)*ptr)" ( (cast_expression "(void *)*ptr" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ptr" * identifier)) ))) ;) (expression_statement "CRYPTO_free(ptr);" (call_expression "CRYPTO_free(ptr)" identifier (argument_list "(ptr)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint prefix_destroy(BIO *b)\n\n{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(b);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}\n\n" comment comment (function_definition "int prefix_destroy(BIO *b)\n\n{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(b);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}" primitive_type (function_declarator "prefix_destroy(BIO *b)" identifier (parameter_list "(BIO *b)" ( (parameter_declaration "BIO *b" type_identifier (pointer_declarator "*b" * identifier)) ))) (compound_statement "{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(b);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}" { (declaration "undefined4 *ptr;" type_identifier (pointer_declarator "*ptr" * identifier) ;) (expression_statement "ptr = (undefined4 *)BIO_get_data(b);" (assignment_expression "ptr = (undefined4 *)BIO_get_data(b)" identifier = (cast_expression "(undefined4 *)BIO_get_data(b)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "BIO_get_data(b)" identifier (argument_list "(b)" ( identifier ))))) ;) (expression_statement "CRYPTO_free((void *)*ptr);" (call_expression "CRYPTO_free((void *)*ptr)" identifier (argument_list "((void *)*ptr)" ( (cast_expression "(void *)*ptr" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ptr" * identifier)) ))) ;) (expression_statement "CRYPTO_free(ptr);" (call_expression "CRYPTO_free(ptr)" identifier (argument_list "(ptr)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "undefined4 FUN_00077660(undefined4 param_1)\n\n{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(param_1);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}\n\n" (function_definition "undefined4 FUN_00077660(undefined4 param_1)\n\n{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(param_1);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}" type_identifier (function_declarator "FUN_00077660(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) ))) (compound_statement "{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(param_1);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}" { (declaration "undefined4 *ptr;" type_identifier (pointer_declarator "*ptr" * identifier) ;) (expression_statement "ptr = (undefined4 *)BIO_get_data(param_1);" (assignment_expression "ptr = (undefined4 *)BIO_get_data(param_1)" identifier = (cast_expression "(undefined4 *)BIO_get_data(param_1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "BIO_get_data(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "CRYPTO_free((void *)*ptr);" (call_expression "CRYPTO_free((void *)*ptr)" identifier (argument_list "((void *)*ptr)" ( (cast_expression "(void *)*ptr" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*ptr" * identifier)) ))) ;) (expression_statement "CRYPTO_free(ptr);" (call_expression "CRYPTO_free(ptr)" identifier (argument_list "(ptr)" ( identifier ))) ;) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00077660(undefined4 param_1)\n\n{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(param_1);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}" (type_identifier "undefined4") (function_declarator "FUN_00077660(undefined4 param_1)" (identifier "FUN_00077660") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined4 *ptr;\n  \n  ptr = (undefined4 *)BIO_get_data(param_1);\n  CRYPTO_free((void *)*ptr);\n  CRYPTO_free(ptr);\n  return 1;\n}" ({ "{") (declaration "undefined4 *ptr;" (type_identifier "undefined4") (pointer_declarator "*ptr" (* "*") (identifier "ptr")) (; ";")) (expression_statement "ptr = (undefined4 *)BIO_get_data(param_1);" (assignment_expression "ptr = (undefined4 *)BIO_get_data(param_1)" (identifier "ptr") (= "=") (cast_expression "(undefined4 *)BIO_get_data(param_1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "BIO_get_data(param_1)" (identifier "BIO_get_data") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "CRYPTO_free((void *)*ptr);" (call_expression "CRYPTO_free((void *)*ptr)" (identifier "CRYPTO_free") (argument_list "((void *)*ptr)" (( "(") (cast_expression "(void *)*ptr" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*ptr" (* "*") (identifier "ptr"))) () ")"))) (; ";")) (expression_statement "CRYPTO_free(ptr);" (call_expression "CRYPTO_free(ptr)" (identifier "CRYPTO_free") (argument_list "(ptr)" (( "(") (identifier "ptr") () ")"))) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

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

int function_1(type_1 *b)

{
  type_2 *ptr;
  
  ptr = (type_2 *)var_1(b);
  var_2((void *)*ptr);
  var_2(ptr);
  return 1;
}


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

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

undefined4 MASKED(undefined4 param_1)

{
  undefined4 *ptr;
  
  ptr = (undefined4 *)BIO_get_data(param_1);
  CRYPTO_free((void *)*ptr);
  CRYPTO_free(ptr);
  return 1;
}

