
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

double uint64_to_double(uint64 x)

{
  return (double)((float)((ulonglong)x >> 0x20) + _DAT_00070e00 * (float)((ulonglong)x & 0xffffffff)
                 );
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

longdouble FUN_00018ce0(uint param_1,uint param_2)

{
  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;
}


CALL 0x00014fde
ADD EAX,0x910ab
SUB ESP,0x14
XOR ECX,ECX
MOV EDX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x4],ECX
MOV dword ptr [ESP],EDX
FILD qword ptr [ESP]
XOR EDX,EDX
MOV dword ptr [ESP + 0x4],EDX
FLD dword ptr [EAX + 0xfffc7070]
MOV EAX,dword ptr [ESP + 0x1c]
MOV dword ptr [ESP],EAX
FMULP
FILD qword ptr [ESP]
ADD ESP,0x14
FADDP
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nlongdouble FUN_00018ce0(uint param_1,uint param_2)\n\n{\n  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;\n}\n\n" comment comment (function_definition "longdouble FUN_00018ce0(uint param_1,uint param_2)\n\n{\n  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;\n}" type_identifier (function_declarator "FUN_00018ce0(uint param_1,uint param_2)" identifier (parameter_list "(uint param_1,uint param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;\n}" { (return_statement "return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;" return (binary_expression "(longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1" (cast_expression "(longdouble)param_2" ( (type_descriptor "longdouble" type_identifier) ) identifier) + (binary_expression "(longdouble)_DAT_00070e00 * (longdouble)param_1" (cast_expression "(longdouble)_DAT_00070e00" ( (type_descriptor "longdouble" type_identifier) ) identifier) * (cast_expression "(longdouble)param_1" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\ndouble uint64_to_double(uint64 x)\n\n{\n  return (double)((float)((ulonglong)x >> 0x20) + _DAT_00070e00 * (float)((ulonglong)x & 0xffffffff)\n                 );\n}\n\n" comment comment (function_definition "double uint64_to_double(uint64 x)\n\n{\n  return (double)((float)((ulonglong)x >> 0x20) + _DAT_00070e00 * (float)((ulonglong)x & 0xffffffff)\n                 );\n}" primitive_type (function_declarator "uint64_to_double(uint64 x)" identifier (parameter_list "(uint64 x)" ( (parameter_declaration "uint64 x" type_identifier identifier) ))) (compound_statement "{\n  return (double)((float)((ulonglong)x >> 0x20) + _DAT_00070e00 * (float)((ulonglong)x & 0xffffffff)\n                 );\n}" { (return_statement "return (double)((float)((ulonglong)x >> 0x20) + _DAT_00070e00 * (float)((ulonglong)x & 0xffffffff)\n                 );" return (cast_expression "(double)((float)((ulonglong)x >> 0x20) + _DAT_00070e00 * (float)((ulonglong)x & 0xffffffff)\n                 )" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)((ulonglong)x >> 0x20) + _DAT_00070e00 * (float)((ulonglong)x & 0xffffffff)\n                 )" ( (binary_expression "(float)((ulonglong)x >> 0x20) + _DAT_00070e00 * (float)((ulonglong)x & 0xffffffff)" (cast_expression "(float)((ulonglong)x >> 0x20)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((ulonglong)x >> 0x20)" ( (binary_expression "(ulonglong)x >> 0x20" (cast_expression "(ulonglong)x" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "_DAT_00070e00 * (float)((ulonglong)x & 0xffffffff)" identifier * (cast_expression "(float)((ulonglong)x & 0xffffffff)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "((ulonglong)x & 0xffffffff)" ( (binary_expression "(ulonglong)x & 0xffffffff" (cast_expression "(ulonglong)x" ( (type_descriptor "ulonglong" type_identifier) ) identifier) & number_literal) ))))) ))) ;) })))
(translation_unit "longdouble FUN_00018ce0(uint param_1,uint param_2)\n\n{\n  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;\n}\n\n" (function_definition "longdouble FUN_00018ce0(uint param_1,uint param_2)\n\n{\n  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;\n}" type_identifier (function_declarator "FUN_00018ce0(uint param_1,uint param_2)" identifier (parameter_list "(uint param_1,uint param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "uint param_2" type_identifier identifier) ))) (compound_statement "{\n  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;\n}" { (return_statement "return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;" return (binary_expression "(longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1" (cast_expression "(longdouble)param_2" ( (type_descriptor "longdouble" type_identifier) ) identifier) + (binary_expression "(longdouble)_DAT_00070e00 * (longdouble)param_1" (cast_expression "(longdouble)_DAT_00070e00" ( (type_descriptor "longdouble" type_identifier) ) identifier) * (cast_expression "(longdouble)param_1" ( (type_descriptor "longdouble" type_identifier) ) identifier))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (return_statement return (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })))
(function_definition "longdouble FUN_00018ce0(uint param_1,uint param_2)\n\n{\n  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;\n}" (type_identifier "longdouble") (function_declarator "FUN_00018ce0(uint param_1,uint param_2)" (identifier "FUN_00018ce0") (parameter_list "(uint param_1,uint param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) () ")"))) (compound_statement "{\n  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;\n}" ({ "{") (return_statement "return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;" (return "return") (binary_expression "(longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1" (cast_expression "(longdouble)param_2" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "param_2")) (+ "+") (binary_expression "(longdouble)_DAT_00070e00 * (longdouble)param_1" (cast_expression "(longdouble)_DAT_00070e00" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "_DAT_00070e00")) (* "*") (cast_expression "(longdouble)param_1" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (identifier "param_1")))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

double function_1(type_1 x)

{
  return (double)((float)((type_2)x >> 0x20) + var_1 * (float)((type_2)x & 0xffffffff)
                 );
}


(translation_unit (function_definition type: (type_identifier) 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 (return_statement (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))))))

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

longdouble MASKED(uint param_1,uint param_2)

{
  return (longdouble)param_2 + (longdouble)_DAT_00070e00 * (longdouble)param_1;
}

