
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */
/* DWARF original prototype: void draw_line(draw_ctx * dctx, int x0, int y0, int x1, int y1,
   draw_ctx * dctx) */

void __regparm3 draw_line(draw_ctx *dctx,int x0,int y0,int x1,int y1,draw_ctx *dctx_1)

{
  double dVar1;
  
  cairo_new_path();
  dVar1 = (double)DAT_0007a1d8;
  cairo_move_to(dctx->inst,(double)((float)x0 + DAT_0007a1d8),(double)((float)y0 + DAT_0007a1d8));
  cairo_line_to(dctx->inst,(double)x1 + dVar1,(double)y1 + dVar1);
  cairo_stroke();
  return;
}



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

void __regparm3 FUN_000516f0(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)

{
  double dVar1;
  
  cairo_new_path();
  dVar1 = (double)DAT_0007a1d8;
  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),
                (double)((float)param_3 + DAT_0007a1d8));
  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);
  cairo_stroke();
  return;
}


PUSH ESI
MOV ESI,EAX
PUSH EBX
CALL 0x0001a360
ADD EBX,0x500eb
SUB ESP,0x20
MOV dword ptr [ESP + 0xc],EDX
MOV dword ptr [ESP + 0x18],ECX
PUSH dword ptr [EAX]
CALL 0x000188d0
SUB ESP,0xc
FILD dword ptr [ESP + 0x28]
FLD dword ptr [EBX + 0xfffd89f4]
FADD ST1,ST0
FXCH
FSTP qword ptr [ESP + 0x8]
FILD dword ptr [ESP + 0x1c]
FADD ST0,ST1
FXCH
FSTP qword ptr [ESP + 0x1c]
FSTP qword ptr [ESP]
PUSH dword ptr [ESI]
CALL 0x000185b0
POP EAX
FILD dword ptr [ESP + 0x40]
FLD qword ptr [ESP + 0x1c]
FADD ST1,ST0
FXCH
FSTP qword ptr [ESP + 0x8]
FILD dword ptr [ESP + 0x3c]
FADDP
FSTP qword ptr [ESP]
PUSH dword ptr [ESI]
CALL 0x000192d0
ADD ESP,0x14
PUSH dword ptr [ESI]
CALL 0x00019cd0
ADD ESP,0x24
POP EBX
POP ESI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_000516f0(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)\n\n{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));\n  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);\n  cairo_stroke();\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_000516f0(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)\n\n{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));\n  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);\n  cairo_stroke();\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000516f0(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)" identifier (parameter_list "(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));\n  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);\n  cairo_stroke();\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (expression_statement "cairo_new_path();" (call_expression "cairo_new_path()" identifier (argument_list "()" ( ))) ;) (expression_statement "dVar1 = (double)DAT_0007a1d8;" (assignment_expression "dVar1 = (double)DAT_0007a1d8" identifier = (cast_expression "(double)DAT_0007a1d8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));" (call_expression "cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8))" identifier (argument_list "(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8))" ( (pointer_expression "*param_1" * identifier) , (cast_expression "(double)((float)param_2 + DAT_0007a1d8)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)param_2 + DAT_0007a1d8)" ( (binary_expression "(float)param_2 + DAT_0007a1d8" (cast_expression "(float)param_2" ( (type_descriptor "float" primitive_type) ) identifier) + identifier) ))) , (cast_expression "(double)((float)param_3 + DAT_0007a1d8)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)param_3 + DAT_0007a1d8)" ( (binary_expression "(float)param_3 + DAT_0007a1d8" (cast_expression "(float)param_3" ( (type_descriptor "float" primitive_type) ) identifier) + identifier) ))) ))) ;) (expression_statement "cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);" (call_expression "cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1)" identifier (argument_list "(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "(double)param_4 + dVar1" (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier) + identifier) , (binary_expression "(double)param_5 + dVar1" (cast_expression "(double)param_5" ( (type_descriptor "double" primitive_type) ) identifier) + identifier) ))) ;) (expression_statement "cairo_stroke();" (call_expression "cairo_stroke()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n/* DWARF original prototype: void draw_line(draw_ctx * dctx, int x0, int y0, int x1, int y1,\n   draw_ctx * dctx) */\n\nvoid __regparm3 draw_line(draw_ctx *dctx,int x0,int y0,int x1,int y1,draw_ctx *dctx_1)\n\n{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(dctx->inst,(double)((float)x0 + DAT_0007a1d8),(double)((float)y0 + DAT_0007a1d8));\n  cairo_line_to(dctx->inst,(double)x1 + dVar1,(double)y1 + dVar1);\n  cairo_stroke();\n  return;\n}\n\n" comment comment comment (function_definition "void __regparm3 draw_line(draw_ctx *dctx,int x0,int y0,int x1,int y1,draw_ctx *dctx_1)\n\n{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(dctx->inst,(double)((float)x0 + DAT_0007a1d8),(double)((float)y0 + DAT_0007a1d8));\n  cairo_line_to(dctx->inst,(double)x1 + dVar1,(double)y1 + dVar1);\n  cairo_stroke();\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "draw_line(draw_ctx *dctx,int x0,int y0,int x1,int y1,draw_ctx *dctx_1)" identifier (parameter_list "(draw_ctx *dctx,int x0,int y0,int x1,int y1,draw_ctx *dctx_1)" ( (parameter_declaration "draw_ctx *dctx" type_identifier (pointer_declarator "*dctx" * identifier)) , (parameter_declaration "int x0" primitive_type identifier) , (parameter_declaration "int y0" primitive_type identifier) , (parameter_declaration "int x1" primitive_type identifier) , (parameter_declaration "int y1" primitive_type identifier) , (parameter_declaration "draw_ctx *dctx_1" type_identifier (pointer_declarator "*dctx_1" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(dctx->inst,(double)((float)x0 + DAT_0007a1d8),(double)((float)y0 + DAT_0007a1d8));\n  cairo_line_to(dctx->inst,(double)x1 + dVar1,(double)y1 + dVar1);\n  cairo_stroke();\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (expression_statement "cairo_new_path();" (call_expression "cairo_new_path()" identifier (argument_list "()" ( ))) ;) (expression_statement "dVar1 = (double)DAT_0007a1d8;" (assignment_expression "dVar1 = (double)DAT_0007a1d8" identifier = (cast_expression "(double)DAT_0007a1d8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "cairo_move_to(dctx->inst,(double)((float)x0 + DAT_0007a1d8),(double)((float)y0 + DAT_0007a1d8));" (call_expression "cairo_move_to(dctx->inst,(double)((float)x0 + DAT_0007a1d8),(double)((float)y0 + DAT_0007a1d8))" identifier (argument_list "(dctx->inst,(double)((float)x0 + DAT_0007a1d8),(double)((float)y0 + DAT_0007a1d8))" ( (field_expression "dctx->inst" identifier -> field_identifier) , (cast_expression "(double)((float)x0 + DAT_0007a1d8)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)x0 + DAT_0007a1d8)" ( (binary_expression "(float)x0 + DAT_0007a1d8" (cast_expression "(float)x0" ( (type_descriptor "float" primitive_type) ) identifier) + identifier) ))) , (cast_expression "(double)((float)y0 + DAT_0007a1d8)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)y0 + DAT_0007a1d8)" ( (binary_expression "(float)y0 + DAT_0007a1d8" (cast_expression "(float)y0" ( (type_descriptor "float" primitive_type) ) identifier) + identifier) ))) ))) ;) (expression_statement "cairo_line_to(dctx->inst,(double)x1 + dVar1,(double)y1 + dVar1);" (call_expression "cairo_line_to(dctx->inst,(double)x1 + dVar1,(double)y1 + dVar1)" identifier (argument_list "(dctx->inst,(double)x1 + dVar1,(double)y1 + dVar1)" ( (field_expression "dctx->inst" identifier -> field_identifier) , (binary_expression "(double)x1 + dVar1" (cast_expression "(double)x1" ( (type_descriptor "double" primitive_type) ) identifier) + identifier) , (binary_expression "(double)y1 + dVar1" (cast_expression "(double)y1" ( (type_descriptor "double" primitive_type) ) identifier) + identifier) ))) ;) (expression_statement "cairo_stroke();" (call_expression "cairo_stroke()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_000516f0(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)\n\n{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));\n  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);\n  cairo_stroke();\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_000516f0(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)\n\n{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));\n  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);\n  cairo_stroke();\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000516f0(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)" identifier (parameter_list "(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));\n  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);\n  cairo_stroke();\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (expression_statement "cairo_new_path();" (call_expression "cairo_new_path()" identifier (argument_list "()" ( ))) ;) (expression_statement "dVar1 = (double)DAT_0007a1d8;" (assignment_expression "dVar1 = (double)DAT_0007a1d8" identifier = (cast_expression "(double)DAT_0007a1d8" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));" (call_expression "cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8))" identifier (argument_list "(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8))" ( (pointer_expression "*param_1" * identifier) , (cast_expression "(double)((float)param_2 + DAT_0007a1d8)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)param_2 + DAT_0007a1d8)" ( (binary_expression "(float)param_2 + DAT_0007a1d8" (cast_expression "(float)param_2" ( (type_descriptor "float" primitive_type) ) identifier) + identifier) ))) , (cast_expression "(double)((float)param_3 + DAT_0007a1d8)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)param_3 + DAT_0007a1d8)" ( (binary_expression "(float)param_3 + DAT_0007a1d8" (cast_expression "(float)param_3" ( (type_descriptor "float" primitive_type) ) identifier) + identifier) ))) ))) ;) (expression_statement "cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);" (call_expression "cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1)" identifier (argument_list "(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1)" ( (pointer_expression "*param_1" * identifier) , (binary_expression "(double)param_4 + dVar1" (cast_expression "(double)param_4" ( (type_descriptor "double" primitive_type) ) identifier) + identifier) , (binary_expression "(double)param_5 + dVar1" (cast_expression "(double)param_5" ( (type_descriptor "double" primitive_type) ) identifier) + identifier) ))) ;) (expression_statement "cairo_stroke();" (call_expression "cairo_stroke()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) , (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_000516f0(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)\n\n{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));\n  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);\n  cairo_stroke();\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000516f0(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)" (identifier "FUN_000516f0") (parameter_list "(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) () ")"))) (compound_statement "{\n  double dVar1;\n  \n  cairo_new_path();\n  dVar1 = (double)DAT_0007a1d8;\n  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));\n  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);\n  cairo_stroke();\n  return;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (expression_statement "cairo_new_path();" (call_expression "cairo_new_path()" (identifier "cairo_new_path") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "dVar1 = (double)DAT_0007a1d8;" (assignment_expression "dVar1 = (double)DAT_0007a1d8" (identifier "dVar1") (= "=") (cast_expression "(double)DAT_0007a1d8" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0007a1d8"))) (; ";")) (expression_statement "cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8));" (call_expression "cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8))" (identifier "cairo_move_to") (argument_list "(*param_1,(double)((float)param_2 + DAT_0007a1d8),\n                (double)((float)param_3 + DAT_0007a1d8))" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (cast_expression "(double)((float)param_2 + DAT_0007a1d8)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)param_2 + DAT_0007a1d8)" (( "(") (binary_expression "(float)param_2 + DAT_0007a1d8" (cast_expression "(float)param_2" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "param_2")) (+ "+") (identifier "DAT_0007a1d8")) () ")"))) (, ",") (cast_expression "(double)((float)param_3 + DAT_0007a1d8)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)param_3 + DAT_0007a1d8)" (( "(") (binary_expression "(float)param_3 + DAT_0007a1d8" (cast_expression "(float)param_3" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "param_3")) (+ "+") (identifier "DAT_0007a1d8")) () ")"))) () ")"))) (; ";")) (expression_statement "cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);" (call_expression "cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1)" (identifier "cairo_line_to") (argument_list "(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) (, ",") (binary_expression "(double)param_4 + dVar1" (cast_expression "(double)param_4" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "param_4")) (+ "+") (identifier "dVar1")) (, ",") (binary_expression "(double)param_5 + dVar1" (cast_expression "(double)param_5" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "param_5")) (+ "+") (identifier "dVar1")) () ")"))) (; ";")) (expression_statement "cairo_stroke();" (call_expression "cairo_stroke()" (identifier "cairo_stroke") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */
/* DWARF original prototype: void draw_line(draw_ctx * dctx, int x0, int y0, int x1, int y1,
   draw_ctx * dctx) */

void __regparm3 function_1(type_1 *dctx,int x0,int y0,int x1,int y1,type_1 *dctx_1)

{
  double var_5;
  
  var_1();
  var_5 = (double)var_3;
  var_2(dctx->inst,(double)((float)x0 + var_3),(double)((float)y0 + var_3));
  var_4(dctx->inst,(double)x1 + var_5,(double)y1 + var_5);
  var_6();
  return;
}


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

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

void __regparm3 MASKED(undefined4 *param_1,int param_2,int param_3,int param_4,int param_5)

{
  double dVar1;
  
  cairo_new_path();
  dVar1 = (double)DAT_0007a1d8;
  cairo_move_to(*param_1,(double)((float)param_2 + DAT_0007a1d8),
                (double)((float)param_3 + DAT_0007a1d8));
  cairo_line_to(*param_1,(double)param_4 + dVar1,(double)param_5 + dVar1);
  cairo_stroke();
  return;
}

