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

long get_run_time(void)

{
  rusage rusage;
  
  getrusage(RUSAGE_SELF,(rusage *)&rusage);
  return rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec +
         rusage.ru_stime.tv_sec * 1000000 + rusage.ru_stime.tv_usec;
}



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

int FUN_0003d6e0(void)

{
  rusage local_54;
  undefined4 uStack_8;
  
  uStack_8 = 0x3d6e6;
  getrusage(RUSAGE_SELF,&local_54);
  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +
         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;
}


PUSH EBX
CALL 0x00015a40
ADD EBX,0x5a91a
SUB ESP,0x60
LEA EAX,[ESP + 0x10]
PUSH EAX
PUSH 0x0
CALL 0x00014b10
IMUL EDX,dword ptr [ESP + 0x20],0xf4240
IMUL EAX,dword ptr [ESP + 0x18],0xf4240
ADD EAX,dword ptr [ESP + 0x1c]
ADD EAX,EDX
ADD EAX,dword ptr [ESP + 0x24]
ADD ESP,0x68
POP EBX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint FUN_0003d6e0(void)\n\n{\n  rusage local_54;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x3d6e6;\n  getrusage(RUSAGE_SELF,&local_54);\n  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;\n}\n\n" comment (function_definition "int FUN_0003d6e0(void)\n\n{\n  rusage local_54;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x3d6e6;\n  getrusage(RUSAGE_SELF,&local_54);\n  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;\n}" primitive_type (function_declarator "FUN_0003d6e0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  rusage local_54;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x3d6e6;\n  getrusage(RUSAGE_SELF,&local_54);\n  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;\n}" { (declaration "rusage local_54;" type_identifier identifier ;) (declaration "undefined4 uStack_8;" type_identifier identifier ;) (expression_statement "uStack_8 = 0x3d6e6;" (assignment_expression "uStack_8 = 0x3d6e6" identifier = number_literal) ;) (expression_statement "getrusage(RUSAGE_SELF,&local_54);" (call_expression "getrusage(RUSAGE_SELF,&local_54)" identifier (argument_list "(RUSAGE_SELF,&local_54)" ( identifier , (pointer_expression "&local_54" & identifier) ))) ;) (return_statement "return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;" return (binary_expression "local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec" (binary_expression "local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000" (binary_expression "local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec" (binary_expression "local_54.ru_utime.tv_sec * 1000000" (field_expression "local_54.ru_utime.tv_sec" (field_expression "local_54.ru_utime" identifier . field_identifier) . field_identifier) * number_literal) + (field_expression "local_54.ru_utime.tv_usec" (field_expression "local_54.ru_utime" identifier . field_identifier) . field_identifier)) + (binary_expression "local_54.ru_stime.tv_sec * 1000000" (field_expression "local_54.ru_stime.tv_sec" (field_expression "local_54.ru_stime" identifier . field_identifier) . field_identifier) * number_literal)) + (field_expression "local_54.ru_stime.tv_usec" (field_expression "local_54.ru_stime" identifier . field_identifier) . field_identifier)) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nlong get_run_time(void)\n\n{\n  rusage rusage;\n  \n  getrusage(RUSAGE_SELF,(rusage *)&rusage);\n  return rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec +\n         rusage.ru_stime.tv_sec * 1000000 + rusage.ru_stime.tv_usec;\n}\n\n" comment comment (function_definition "long get_run_time(void)\n\n{\n  rusage rusage;\n  \n  getrusage(RUSAGE_SELF,(rusage *)&rusage);\n  return rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec +\n         rusage.ru_stime.tv_sec * 1000000 + rusage.ru_stime.tv_usec;\n}" (sized_type_specifier "long" long) (function_declarator "get_run_time(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  rusage rusage;\n  \n  getrusage(RUSAGE_SELF,(rusage *)&rusage);\n  return rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec +\n         rusage.ru_stime.tv_sec * 1000000 + rusage.ru_stime.tv_usec;\n}" { (declaration "rusage rusage;" type_identifier identifier ;) (expression_statement "getrusage(RUSAGE_SELF,(rusage *)&rusage);" (call_expression "getrusage(RUSAGE_SELF,(rusage *)&rusage)" identifier (argument_list "(RUSAGE_SELF,(rusage *)&rusage)" ( identifier , (cast_expression "(rusage *)&rusage" ( (type_descriptor "rusage *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rusage" & identifier)) ))) ;) (return_statement "return rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec +\n         rusage.ru_stime.tv_sec * 1000000 + rusage.ru_stime.tv_usec;" return (binary_expression "rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec +\n         rusage.ru_stime.tv_sec * 1000000 + rusage.ru_stime.tv_usec" (binary_expression "rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec +\n         rusage.ru_stime.tv_sec * 1000000" (binary_expression "rusage.ru_utime.tv_sec * 1000000 + rusage.ru_utime.tv_usec" (binary_expression "rusage.ru_utime.tv_sec * 1000000" (field_expression "rusage.ru_utime.tv_sec" (field_expression "rusage.ru_utime" identifier . field_identifier) . field_identifier) * number_literal) + (field_expression "rusage.ru_utime.tv_usec" (field_expression "rusage.ru_utime" identifier . field_identifier) . field_identifier)) + (binary_expression "rusage.ru_stime.tv_sec * 1000000" (field_expression "rusage.ru_stime.tv_sec" (field_expression "rusage.ru_stime" identifier . field_identifier) . field_identifier) * number_literal)) + (field_expression "rusage.ru_stime.tv_usec" (field_expression "rusage.ru_stime" identifier . field_identifier) . field_identifier)) ;) })))
(translation_unit "int FUN_0003d6e0(void)\n\n{\n  rusage local_54;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x3d6e6;\n  getrusage(RUSAGE_SELF,&local_54);\n  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;\n}\n\n" (function_definition "int FUN_0003d6e0(void)\n\n{\n  rusage local_54;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x3d6e6;\n  getrusage(RUSAGE_SELF,&local_54);\n  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;\n}" primitive_type (function_declarator "FUN_0003d6e0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  rusage local_54;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x3d6e6;\n  getrusage(RUSAGE_SELF,&local_54);\n  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;\n}" { (declaration "rusage local_54;" type_identifier identifier ;) (declaration "undefined4 uStack_8;" type_identifier identifier ;) (expression_statement "uStack_8 = 0x3d6e6;" (assignment_expression "uStack_8 = 0x3d6e6" identifier = number_literal) ;) (expression_statement "getrusage(RUSAGE_SELF,&local_54);" (call_expression "getrusage(RUSAGE_SELF,&local_54)" identifier (argument_list "(RUSAGE_SELF,&local_54)" ( identifier , (pointer_expression "&local_54" & identifier) ))) ;) (return_statement "return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;" return (binary_expression "local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec" (binary_expression "local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000" (binary_expression "local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec" (binary_expression "local_54.ru_utime.tv_sec * 1000000" (field_expression "local_54.ru_utime.tv_sec" (field_expression "local_54.ru_utime" identifier . field_identifier) . field_identifier) * number_literal) + (field_expression "local_54.ru_utime.tv_usec" (field_expression "local_54.ru_utime" identifier . field_identifier) . field_identifier)) + (binary_expression "local_54.ru_stime.tv_sec * 1000000" (field_expression "local_54.ru_stime.tv_sec" (field_expression "local_54.ru_stime" identifier . field_identifier) . field_identifier) * number_literal)) + (field_expression "local_54.ru_stime.tv_usec" (field_expression "local_54.ru_stime" identifier . field_identifier) . field_identifier)) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (return_statement return (binary_expression (binary_expression (binary_expression (binary_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) * LIT) + (field_expression (field_expression IDENT . field_identifier) . field_identifier)) + (binary_expression (field_expression (field_expression IDENT . field_identifier) . field_identifier) * LIT)) + (field_expression (field_expression IDENT . field_identifier) . field_identifier)) ;) })))
(function_definition "int FUN_0003d6e0(void)\n\n{\n  rusage local_54;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x3d6e6;\n  getrusage(RUSAGE_SELF,&local_54);\n  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;\n}" (primitive_type "int") (function_declarator "FUN_0003d6e0(void)" (identifier "FUN_0003d6e0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  rusage local_54;\n  undefined4 uStack_8;\n  \n  uStack_8 = 0x3d6e6;\n  getrusage(RUSAGE_SELF,&local_54);\n  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;\n}" ({ "{") (declaration "rusage local_54;" (type_identifier "rusage") (identifier "local_54") (; ";")) (declaration "undefined4 uStack_8;" (type_identifier "undefined4") (identifier "uStack_8") (; ";")) (expression_statement "uStack_8 = 0x3d6e6;" (assignment_expression "uStack_8 = 0x3d6e6" (identifier "uStack_8") (= "=") (number_literal "0x3d6e6")) (; ";")) (expression_statement "getrusage(RUSAGE_SELF,&local_54);" (call_expression "getrusage(RUSAGE_SELF,&local_54)" (identifier "getrusage") (argument_list "(RUSAGE_SELF,&local_54)" (( "(") (identifier "RUSAGE_SELF") (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")"))) (; ";")) (return_statement "return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;" (return "return") (binary_expression "local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec" (binary_expression "local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +\n         local_54.ru_stime.tv_sec * 1000000" (binary_expression "local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec" (binary_expression "local_54.ru_utime.tv_sec * 1000000" (field_expression "local_54.ru_utime.tv_sec" (field_expression "local_54.ru_utime" (identifier "local_54") (. ".") (field_identifier "ru_utime")) (. ".") (field_identifier "tv_sec")) (* "*") (number_literal "1000000")) (+ "+") (field_expression "local_54.ru_utime.tv_usec" (field_expression "local_54.ru_utime" (identifier "local_54") (. ".") (field_identifier "ru_utime")) (. ".") (field_identifier "tv_usec"))) (+ "+") (binary_expression "local_54.ru_stime.tv_sec * 1000000" (field_expression "local_54.ru_stime.tv_sec" (field_expression "local_54.ru_stime" (identifier "local_54") (. ".") (field_identifier "ru_stime")) (. ".") (field_identifier "tv_sec")) (* "*") (number_literal "1000000"))) (+ "+") (field_expression "local_54.ru_stime.tv_usec" (field_expression "local_54.ru_stime" (identifier "local_54") (. ".") (field_identifier "ru_stime")) (. ".") (field_identifier "tv_usec"))) (; ";")) (} "}")))

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

long function_1(void)

{
  type_1 type_1;
  
  var_1(RUSAGE_SELF,(type_1 *)&type_1);
  return type_1.ru_utime.tv_sec * 1000000 + type_1.ru_utime.tv_usec +
         type_1.ru_stime.tv_sec * 1000000 + type_1.ru_stime.tv_usec;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (return_statement (binary_expression left: (binary_expression left: (binary_expression left: (binary_expression left: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier)) right: (number_literal)) right: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier))) right: (binary_expression left: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier)) right: (number_literal))) right: (field_expression argument: (field_expression argument: (identifier) field: (field_identifier)) field: (field_identifier)))))))

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

int MASKED(void)

{
  rusage local_54;
  undefined4 uStack_8;
  
  uStack_8 = 0x3d6e6;
  getrusage(RUSAGE_SELF,&local_54);
  return local_54.ru_utime.tv_sec * 1000000 + local_54.ru_utime.tv_usec +
         local_54.ru_stime.tv_sec * 1000000 + local_54.ru_stime.tv_usec;
}

