
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

void draw_backing_rect(gui_data *inst)

{
  draw_ctx *dctx;
  int iVar1;
  gui_data *pgVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  
  dctx = (draw_ctx *)get_ctx(inst);
  iVar1 = inst->window_border * 2;
  iVar6 = inst->width;
  iVar3 = inst->font_width;
  iVar5 = inst->height;
  iVar4 = inst->font_height;
  draw_set_colour(dctx,0x102);
  if ((dctx->uctx).type == ADDRTYPE_UNSPEC) {
    (*(code *)PTR_cairo_new_path_000be018)((dctx->uctx).u.cairo.cr);
    (*(code *)PTR_cairo_rectangle_000be044)((dctx->uctx).u.cairo.cr);
    (*(code *)PTR_cairo_fill_000bdab4)((dctx->uctx).u.cairo.cr);
    pgVar2 = dctx->inst;
  }
  else {
    pgVar2 = dctx->inst;
  }
  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)
            (pgVar2->area,0,0,iVar6 * iVar3 + iVar1,iVar5 * iVar4 + iVar1);
  free_ctx(dctx);
  return;
}



void FUN_000755d8(int param_1)

{
  int *piVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  
  piVar1 = (int *)get_ctx();
  iVar2 = *(int *)(param_1 + 0x2254) * 2;
  iVar7 = *(int *)(param_1 + 0xce4);
  iVar4 = *(int *)(param_1 + 0xcdc);
  iVar6 = *(int *)(param_1 + 0xce8);
  iVar5 = *(int *)(param_1 + 0xce0);
  FUN_000719ac(piVar1,0x102);
  if (piVar1[2] == 0) {
    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);
    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);
    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);
    iVar3 = *piVar1;
  }
  else {
    iVar3 = *piVar1;
  }
  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)
            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);
  free_ctx(piVar1);
  return;
}


lui gp,0x5
addiu gp,gp,-0x408
addu gp,gp,t9
addiu sp,sp,-0x40
sw ra,0x3c(sp)
sw s2,0x38(sp)
sw s1,0x34(sp)
sw s0,0x30(sp)
sw gp,0x28(sp)
or s0,a0,zero
lw t9,-0x7b74(gp)
bal 0x00075420
_nop
lw gp,0x28(sp)
or s1,v0,zero
lw v0,0x2254(s0)
sll v0,v0,0x1
lw s2,0xce4(s0)
lw v1,0xcdc(s0)
mul a0,s2,v1
addu s2,a0,v0
lw a0,0xce8(s0)
lw v1,0xce0(s0)
mul a1,a0,v1
addu s0,a1,v0
li a1,0x102
or a0,s1,zero
lw t9,-0x79f4(gp)
addiu t9,t9,0x19ac
bal 0x000719ac
_nop
lw gp,0x28(sp)
lw v0,0x8(s1)
beq v0,zero,0x000756b8
_lw t9,-0x71b8(gp)
lw v0,0x0(s1)
lw a0,0x4(v0)
sw s0,0x10(sp)
or a3,s2,zero
or a2,zero,zero
or a1,zero,zero
lw t9,-0x7018(gp)
jalr t9
_nop
lw gp,0x28(sp)
or a0,s1,zero
lw t9,-0x7b6c(gp)
bal 0x00075570
_nop
lw gp,0x28(sp)
lw ra,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x40
lw a0,0x14(s1)
jalr t9
_nop
lw gp,0x28(sp)
lw a0,0x14(s1)
mtc1 s0,f0
cvt.d.W f0,f0
sdc1 f0,0x20(sp)
mtc1 s2,f0
cvt.d.W f0,f0
sdc1 f0,0x18(sp)
sw zero,0x14(sp)
sw zero,0x10(sp)
or a3,zero,zero
or a2,zero,zero
lw t9,-0x718c(gp)
jalr t9
_nop
lw gp,0x28(sp)
lw a0,0x14(s1)
lw t9,-0x771c(gp)
jalr t9
_nop
lw gp,0x28(sp)
b 0x00075668
_lw v0,0x0(s1)
(translation_unit "void FUN_000755d8(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  \n  piVar1 = (int *)get_ctx();\n  iVar2 = *(int *)(param_1 + 0x2254) * 2;\n  iVar7 = *(int *)(param_1 + 0xce4);\n  iVar4 = *(int *)(param_1 + 0xcdc);\n  iVar6 = *(int *)(param_1 + 0xce8);\n  iVar5 = *(int *)(param_1 + 0xce0);\n  FUN_000719ac(piVar1,0x102);\n  if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);\n  free_ctx(piVar1);\n  return;\n}\n\n" (function_definition "void FUN_000755d8(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  \n  piVar1 = (int *)get_ctx();\n  iVar2 = *(int *)(param_1 + 0x2254) * 2;\n  iVar7 = *(int *)(param_1 + 0xce4);\n  iVar4 = *(int *)(param_1 + 0xcdc);\n  iVar6 = *(int *)(param_1 + 0xce8);\n  iVar5 = *(int *)(param_1 + 0xce0);\n  FUN_000719ac(piVar1,0x102);\n  if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);\n  free_ctx(piVar1);\n  return;\n}" primitive_type (function_declarator "FUN_000755d8(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  \n  piVar1 = (int *)get_ctx();\n  iVar2 = *(int *)(param_1 + 0x2254) * 2;\n  iVar7 = *(int *)(param_1 + 0xce4);\n  iVar4 = *(int *)(param_1 + 0xcdc);\n  iVar6 = *(int *)(param_1 + 0xce8);\n  iVar5 = *(int *)(param_1 + 0xce0);\n  FUN_000719ac(piVar1,0x102);\n  if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);\n  free_ctx(piVar1);\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (expression_statement "piVar1 = (int *)get_ctx();" (assignment_expression "piVar1 = (int *)get_ctx()" identifier = (cast_expression "(int *)get_ctx()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "get_ctx()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x2254) * 2;" (assignment_expression "iVar2 = *(int *)(param_1 + 0x2254) * 2" identifier = (binary_expression "*(int *)(param_1 + 0x2254) * 2" (pointer_expression "*(int *)(param_1 + 0x2254)" * (cast_expression "(int *)(param_1 + 0x2254)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2254)" ( (binary_expression "param_1 + 0x2254" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0xce4);" (assignment_expression "iVar7 = *(int *)(param_1 + 0xce4)" identifier = (pointer_expression "*(int *)(param_1 + 0xce4)" * (cast_expression "(int *)(param_1 + 0xce4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce4)" ( (binary_expression "param_1 + 0xce4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0xcdc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0xcdc)" identifier = (pointer_expression "*(int *)(param_1 + 0xcdc)" * (cast_expression "(int *)(param_1 + 0xcdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xcdc)" ( (binary_expression "param_1 + 0xcdc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(param_1 + 0xce8);" (assignment_expression "iVar6 = *(int *)(param_1 + 0xce8)" identifier = (pointer_expression "*(int *)(param_1 + 0xce8)" * (cast_expression "(int *)(param_1 + 0xce8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce8)" ( (binary_expression "param_1 + 0xce8" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(param_1 + 0xce0);" (assignment_expression "iVar5 = *(int *)(param_1 + 0xce0)" identifier = (pointer_expression "*(int *)(param_1 + 0xce0)" * (cast_expression "(int *)(param_1 + 0xce0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce0)" ( (binary_expression "param_1 + 0xce0" identifier + number_literal) ))))) ;) (expression_statement "FUN_000719ac(piVar1,0x102);" (call_expression "FUN_000719ac(piVar1,0x102)" identifier (argument_list "(piVar1,0x102)" ( identifier , number_literal ))) ;) (if_statement "if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }" if (parenthesized_expression "(piVar1[2] == 0)" ( (binary_expression "piVar1[2] == 0" (subscript_expression "piVar1[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }" { (expression_statement "(*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);" (call_expression "(*(code *)PTR_cairo_new_path_000be018)(piVar1[5])" (parenthesized_expression "(*(code *)PTR_cairo_new_path_000be018)" ( (pointer_expression "*(code *)PTR_cairo_new_path_000be018" * (cast_expression "(code *)PTR_cairo_new_path_000be018" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar1[5])" ( (subscript_expression "piVar1[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);" (call_expression "(*(code *)PTR_cairo_rectangle_000be044)(piVar1[5])" (parenthesized_expression "(*(code *)PTR_cairo_rectangle_000be044)" ( (pointer_expression "*(code *)PTR_cairo_rectangle_000be044" * (cast_expression "(code *)PTR_cairo_rectangle_000be044" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar1[5])" ( (subscript_expression "piVar1[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);" (call_expression "(*(code *)PTR_cairo_fill_000bdab4)(piVar1[5])" (parenthesized_expression "(*(code *)PTR_cairo_fill_000bdab4)" ( (pointer_expression "*(code *)PTR_cairo_fill_000bdab4" * (cast_expression "(code *)PTR_cairo_fill_000bdab4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar1[5])" ( (subscript_expression "piVar1[5]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) }) (else_clause "else {\n    iVar3 = *piVar1;\n  }" else (compound_statement "{\n    iVar3 = *piVar1;\n  }" { (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) }))) (expression_statement "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);" (call_expression "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2)" (parenthesized_expression "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)" ( (pointer_expression "*(code *)PTR_gtk_widget_queue_draw_area_000be1b8" * (cast_expression "(code *)PTR_gtk_widget_queue_draw_area_000be1b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2)" ( (pointer_expression "*(undefined4 *)(iVar3 + 4)" * (cast_expression "(undefined4 *)(iVar3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) , number_literal , number_literal , (binary_expression "iVar7 * iVar4 + iVar2" (binary_expression "iVar7 * iVar4" identifier * identifier) + identifier) , (binary_expression "iVar6 * iVar5 + iVar2" (binary_expression "iVar6 * iVar5" identifier * identifier) + identifier) ))) ;) (expression_statement "free_ctx(piVar1);" (call_expression "free_ctx(piVar1)" identifier (argument_list "(piVar1)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nvoid draw_backing_rect(gui_data *inst)\n\n{\n  draw_ctx *dctx;\n  int iVar1;\n  gui_data *pgVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  \n  dctx = (draw_ctx *)get_ctx(inst);\n  iVar1 = inst->window_border * 2;\n  iVar6 = inst->width;\n  iVar3 = inst->font_width;\n  iVar5 = inst->height;\n  iVar4 = inst->font_height;\n  draw_set_colour(dctx,0x102);\n  if ((dctx->uctx).type == ADDRTYPE_UNSPEC) {\n    (*(code *)PTR_cairo_new_path_000be018)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_rectangle_000be044)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_fill_000bdab4)((dctx->uctx).u.cairo.cr);\n    pgVar2 = dctx->inst;\n  }\n  else {\n    pgVar2 = dctx->inst;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (pgVar2->area,0,0,iVar6 * iVar3 + iVar1,iVar5 * iVar4 + iVar1);\n  free_ctx(dctx);\n  return;\n}\n\n" comment (function_definition "void draw_backing_rect(gui_data *inst)\n\n{\n  draw_ctx *dctx;\n  int iVar1;\n  gui_data *pgVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  \n  dctx = (draw_ctx *)get_ctx(inst);\n  iVar1 = inst->window_border * 2;\n  iVar6 = inst->width;\n  iVar3 = inst->font_width;\n  iVar5 = inst->height;\n  iVar4 = inst->font_height;\n  draw_set_colour(dctx,0x102);\n  if ((dctx->uctx).type == ADDRTYPE_UNSPEC) {\n    (*(code *)PTR_cairo_new_path_000be018)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_rectangle_000be044)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_fill_000bdab4)((dctx->uctx).u.cairo.cr);\n    pgVar2 = dctx->inst;\n  }\n  else {\n    pgVar2 = dctx->inst;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (pgVar2->area,0,0,iVar6 * iVar3 + iVar1,iVar5 * iVar4 + iVar1);\n  free_ctx(dctx);\n  return;\n}" primitive_type (function_declarator "draw_backing_rect(gui_data *inst)" identifier (parameter_list "(gui_data *inst)" ( (parameter_declaration "gui_data *inst" type_identifier (pointer_declarator "*inst" * identifier)) ))) (compound_statement "{\n  draw_ctx *dctx;\n  int iVar1;\n  gui_data *pgVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  \n  dctx = (draw_ctx *)get_ctx(inst);\n  iVar1 = inst->window_border * 2;\n  iVar6 = inst->width;\n  iVar3 = inst->font_width;\n  iVar5 = inst->height;\n  iVar4 = inst->font_height;\n  draw_set_colour(dctx,0x102);\n  if ((dctx->uctx).type == ADDRTYPE_UNSPEC) {\n    (*(code *)PTR_cairo_new_path_000be018)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_rectangle_000be044)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_fill_000bdab4)((dctx->uctx).u.cairo.cr);\n    pgVar2 = dctx->inst;\n  }\n  else {\n    pgVar2 = dctx->inst;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (pgVar2->area,0,0,iVar6 * iVar3 + iVar1,iVar5 * iVar4 + iVar1);\n  free_ctx(dctx);\n  return;\n}" { (declaration "draw_ctx *dctx;" type_identifier (pointer_declarator "*dctx" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "gui_data *pgVar2;" type_identifier (pointer_declarator "*pgVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (expression_statement "dctx = (draw_ctx *)get_ctx(inst);" (assignment_expression "dctx = (draw_ctx *)get_ctx(inst)" identifier = (cast_expression "(draw_ctx *)get_ctx(inst)" ( (type_descriptor "draw_ctx *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "get_ctx(inst)" identifier (argument_list "(inst)" ( identifier ))))) ;) (expression_statement "iVar1 = inst->window_border * 2;" (assignment_expression "iVar1 = inst->window_border * 2" identifier = (binary_expression "inst->window_border * 2" (field_expression "inst->window_border" identifier -> field_identifier) * number_literal)) ;) (expression_statement "iVar6 = inst->width;" (assignment_expression "iVar6 = inst->width" identifier = (field_expression "inst->width" identifier -> field_identifier)) ;) (expression_statement "iVar3 = inst->font_width;" (assignment_expression "iVar3 = inst->font_width" identifier = (field_expression "inst->font_width" identifier -> field_identifier)) ;) (expression_statement "iVar5 = inst->height;" (assignment_expression "iVar5 = inst->height" identifier = (field_expression "inst->height" identifier -> field_identifier)) ;) (expression_statement "iVar4 = inst->font_height;" (assignment_expression "iVar4 = inst->font_height" identifier = (field_expression "inst->font_height" identifier -> field_identifier)) ;) (expression_statement "draw_set_colour(dctx,0x102);" (call_expression "draw_set_colour(dctx,0x102)" identifier (argument_list "(dctx,0x102)" ( identifier , number_literal ))) ;) (if_statement "if ((dctx->uctx).type == ADDRTYPE_UNSPEC) {\n    (*(code *)PTR_cairo_new_path_000be018)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_rectangle_000be044)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_fill_000bdab4)((dctx->uctx).u.cairo.cr);\n    pgVar2 = dctx->inst;\n  }\n  else {\n    pgVar2 = dctx->inst;\n  }" if (parenthesized_expression "((dctx->uctx).type == ADDRTYPE_UNSPEC)" ( (binary_expression "(dctx->uctx).type == ADDRTYPE_UNSPEC" (field_expression "(dctx->uctx).type" (parenthesized_expression "(dctx->uctx)" ( (field_expression "dctx->uctx" identifier -> field_identifier) )) . field_identifier) == identifier) )) (compound_statement "{\n    (*(code *)PTR_cairo_new_path_000be018)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_rectangle_000be044)((dctx->uctx).u.cairo.cr);\n    (*(code *)PTR_cairo_fill_000bdab4)((dctx->uctx).u.cairo.cr);\n    pgVar2 = dctx->inst;\n  }" { (expression_statement "(*(code *)PTR_cairo_new_path_000be018)((dctx->uctx).u.cairo.cr);" (call_expression "(*(code *)PTR_cairo_new_path_000be018)((dctx->uctx).u.cairo.cr)" (parenthesized_expression "(*(code *)PTR_cairo_new_path_000be018)" ( (pointer_expression "*(code *)PTR_cairo_new_path_000be018" * (cast_expression "(code *)PTR_cairo_new_path_000be018" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((dctx->uctx).u.cairo.cr)" ( (field_expression "(dctx->uctx).u.cairo.cr" (field_expression "(dctx->uctx).u.cairo" (field_expression "(dctx->uctx).u" (parenthesized_expression "(dctx->uctx)" ( (field_expression "dctx->uctx" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) ))) ;) (expression_statement "(*(code *)PTR_cairo_rectangle_000be044)((dctx->uctx).u.cairo.cr);" (call_expression "(*(code *)PTR_cairo_rectangle_000be044)((dctx->uctx).u.cairo.cr)" (parenthesized_expression "(*(code *)PTR_cairo_rectangle_000be044)" ( (pointer_expression "*(code *)PTR_cairo_rectangle_000be044" * (cast_expression "(code *)PTR_cairo_rectangle_000be044" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((dctx->uctx).u.cairo.cr)" ( (field_expression "(dctx->uctx).u.cairo.cr" (field_expression "(dctx->uctx).u.cairo" (field_expression "(dctx->uctx).u" (parenthesized_expression "(dctx->uctx)" ( (field_expression "dctx->uctx" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) ))) ;) (expression_statement "(*(code *)PTR_cairo_fill_000bdab4)((dctx->uctx).u.cairo.cr);" (call_expression "(*(code *)PTR_cairo_fill_000bdab4)((dctx->uctx).u.cairo.cr)" (parenthesized_expression "(*(code *)PTR_cairo_fill_000bdab4)" ( (pointer_expression "*(code *)PTR_cairo_fill_000bdab4" * (cast_expression "(code *)PTR_cairo_fill_000bdab4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((dctx->uctx).u.cairo.cr)" ( (field_expression "(dctx->uctx).u.cairo.cr" (field_expression "(dctx->uctx).u.cairo" (field_expression "(dctx->uctx).u" (parenthesized_expression "(dctx->uctx)" ( (field_expression "dctx->uctx" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) ))) ;) (expression_statement "pgVar2 = dctx->inst;" (assignment_expression "pgVar2 = dctx->inst" identifier = (field_expression "dctx->inst" identifier -> field_identifier)) ;) }) (else_clause "else {\n    pgVar2 = dctx->inst;\n  }" else (compound_statement "{\n    pgVar2 = dctx->inst;\n  }" { (expression_statement "pgVar2 = dctx->inst;" (assignment_expression "pgVar2 = dctx->inst" identifier = (field_expression "dctx->inst" identifier -> field_identifier)) ;) }))) (expression_statement "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (pgVar2->area,0,0,iVar6 * iVar3 + iVar1,iVar5 * iVar4 + iVar1);" (call_expression "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (pgVar2->area,0,0,iVar6 * iVar3 + iVar1,iVar5 * iVar4 + iVar1)" (parenthesized_expression "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)" ( (pointer_expression "*(code *)PTR_gtk_widget_queue_draw_area_000be1b8" * (cast_expression "(code *)PTR_gtk_widget_queue_draw_area_000be1b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pgVar2->area,0,0,iVar6 * iVar3 + iVar1,iVar5 * iVar4 + iVar1)" ( (field_expression "pgVar2->area" identifier -> field_identifier) , number_literal , number_literal , (binary_expression "iVar6 * iVar3 + iVar1" (binary_expression "iVar6 * iVar3" identifier * identifier) + identifier) , (binary_expression "iVar5 * iVar4 + iVar1" (binary_expression "iVar5 * iVar4" identifier * identifier) + identifier) ))) ;) (expression_statement "free_ctx(dctx);" (call_expression "free_ctx(dctx)" identifier (argument_list "(dctx)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_000755d8(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  \n  piVar1 = (int *)get_ctx();\n  iVar2 = *(int *)(param_1 + 0x2254) * 2;\n  iVar7 = *(int *)(param_1 + 0xce4);\n  iVar4 = *(int *)(param_1 + 0xcdc);\n  iVar6 = *(int *)(param_1 + 0xce8);\n  iVar5 = *(int *)(param_1 + 0xce0);\n  FUN_000719ac(piVar1,0x102);\n  if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);\n  free_ctx(piVar1);\n  return;\n}\n\n" (function_definition "void FUN_000755d8(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  \n  piVar1 = (int *)get_ctx();\n  iVar2 = *(int *)(param_1 + 0x2254) * 2;\n  iVar7 = *(int *)(param_1 + 0xce4);\n  iVar4 = *(int *)(param_1 + 0xcdc);\n  iVar6 = *(int *)(param_1 + 0xce8);\n  iVar5 = *(int *)(param_1 + 0xce0);\n  FUN_000719ac(piVar1,0x102);\n  if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);\n  free_ctx(piVar1);\n  return;\n}" primitive_type (function_declarator "FUN_000755d8(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  \n  piVar1 = (int *)get_ctx();\n  iVar2 = *(int *)(param_1 + 0x2254) * 2;\n  iVar7 = *(int *)(param_1 + 0xce4);\n  iVar4 = *(int *)(param_1 + 0xcdc);\n  iVar6 = *(int *)(param_1 + 0xce8);\n  iVar5 = *(int *)(param_1 + 0xce0);\n  FUN_000719ac(piVar1,0x102);\n  if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);\n  free_ctx(piVar1);\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (expression_statement "piVar1 = (int *)get_ctx();" (assignment_expression "piVar1 = (int *)get_ctx()" identifier = (cast_expression "(int *)get_ctx()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "get_ctx()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x2254) * 2;" (assignment_expression "iVar2 = *(int *)(param_1 + 0x2254) * 2" identifier = (binary_expression "*(int *)(param_1 + 0x2254) * 2" (pointer_expression "*(int *)(param_1 + 0x2254)" * (cast_expression "(int *)(param_1 + 0x2254)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2254)" ( (binary_expression "param_1 + 0x2254" identifier + number_literal) )))) * number_literal)) ;) (expression_statement "iVar7 = *(int *)(param_1 + 0xce4);" (assignment_expression "iVar7 = *(int *)(param_1 + 0xce4)" identifier = (pointer_expression "*(int *)(param_1 + 0xce4)" * (cast_expression "(int *)(param_1 + 0xce4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce4)" ( (binary_expression "param_1 + 0xce4" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = *(int *)(param_1 + 0xcdc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0xcdc)" identifier = (pointer_expression "*(int *)(param_1 + 0xcdc)" * (cast_expression "(int *)(param_1 + 0xcdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xcdc)" ( (binary_expression "param_1 + 0xcdc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(param_1 + 0xce8);" (assignment_expression "iVar6 = *(int *)(param_1 + 0xce8)" identifier = (pointer_expression "*(int *)(param_1 + 0xce8)" * (cast_expression "(int *)(param_1 + 0xce8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce8)" ( (binary_expression "param_1 + 0xce8" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(param_1 + 0xce0);" (assignment_expression "iVar5 = *(int *)(param_1 + 0xce0)" identifier = (pointer_expression "*(int *)(param_1 + 0xce0)" * (cast_expression "(int *)(param_1 + 0xce0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xce0)" ( (binary_expression "param_1 + 0xce0" identifier + number_literal) ))))) ;) (expression_statement "FUN_000719ac(piVar1,0x102);" (call_expression "FUN_000719ac(piVar1,0x102)" identifier (argument_list "(piVar1,0x102)" ( identifier , number_literal ))) ;) (if_statement "if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }" if (parenthesized_expression "(piVar1[2] == 0)" ( (binary_expression "piVar1[2] == 0" (subscript_expression "piVar1[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }" { (expression_statement "(*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);" (call_expression "(*(code *)PTR_cairo_new_path_000be018)(piVar1[5])" (parenthesized_expression "(*(code *)PTR_cairo_new_path_000be018)" ( (pointer_expression "*(code *)PTR_cairo_new_path_000be018" * (cast_expression "(code *)PTR_cairo_new_path_000be018" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar1[5])" ( (subscript_expression "piVar1[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);" (call_expression "(*(code *)PTR_cairo_rectangle_000be044)(piVar1[5])" (parenthesized_expression "(*(code *)PTR_cairo_rectangle_000be044)" ( (pointer_expression "*(code *)PTR_cairo_rectangle_000be044" * (cast_expression "(code *)PTR_cairo_rectangle_000be044" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar1[5])" ( (subscript_expression "piVar1[5]" identifier [ number_literal ]) ))) ;) (expression_statement "(*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);" (call_expression "(*(code *)PTR_cairo_fill_000bdab4)(piVar1[5])" (parenthesized_expression "(*(code *)PTR_cairo_fill_000bdab4)" ( (pointer_expression "*(code *)PTR_cairo_fill_000bdab4" * (cast_expression "(code *)PTR_cairo_fill_000bdab4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar1[5])" ( (subscript_expression "piVar1[5]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) }) (else_clause "else {\n    iVar3 = *piVar1;\n  }" else (compound_statement "{\n    iVar3 = *piVar1;\n  }" { (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) }))) (expression_statement "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);" (call_expression "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2)" (parenthesized_expression "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)" ( (pointer_expression "*(code *)PTR_gtk_widget_queue_draw_area_000be1b8" * (cast_expression "(code *)PTR_gtk_widget_queue_draw_area_000be1b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2)" ( (pointer_expression "*(undefined4 *)(iVar3 + 4)" * (cast_expression "(undefined4 *)(iVar3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))) , number_literal , number_literal , (binary_expression "iVar7 * iVar4 + iVar2" (binary_expression "iVar7 * iVar4" identifier * identifier) + identifier) , (binary_expression "iVar6 * iVar5 + iVar2" (binary_expression "iVar6 * iVar5" identifier * identifier) + identifier) ))) ;) (expression_statement "free_ctx(piVar1);" (call_expression "free_ctx(piVar1)" identifier (argument_list "(piVar1)" ( identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT , (binary_expression (binary_expression IDENT * IDENT) + IDENT) , (binary_expression (binary_expression IDENT * IDENT) + IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_000755d8(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  \n  piVar1 = (int *)get_ctx();\n  iVar2 = *(int *)(param_1 + 0x2254) * 2;\n  iVar7 = *(int *)(param_1 + 0xce4);\n  iVar4 = *(int *)(param_1 + 0xcdc);\n  iVar6 = *(int *)(param_1 + 0xce8);\n  iVar5 = *(int *)(param_1 + 0xce0);\n  FUN_000719ac(piVar1,0x102);\n  if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);\n  free_ctx(piVar1);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000755d8(int param_1)" (identifier "FUN_000755d8") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  int iVar3;\n  int iVar4;\n  int iVar5;\n  int iVar6;\n  int iVar7;\n  \n  piVar1 = (int *)get_ctx();\n  iVar2 = *(int *)(param_1 + 0x2254) * 2;\n  iVar7 = *(int *)(param_1 + 0xce4);\n  iVar4 = *(int *)(param_1 + 0xcdc);\n  iVar6 = *(int *)(param_1 + 0xce8);\n  iVar5 = *(int *)(param_1 + 0xce0);\n  FUN_000719ac(piVar1,0x102);\n  if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }\n  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);\n  free_ctx(piVar1);\n  return;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (expression_statement "piVar1 = (int *)get_ctx();" (assignment_expression "piVar1 = (int *)get_ctx()" (identifier "piVar1") (= "=") (cast_expression "(int *)get_ctx()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "get_ctx()" (identifier "get_ctx") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(param_1 + 0x2254) * 2;" (assignment_expression "iVar2 = *(int *)(param_1 + 0x2254) * 2" (identifier "iVar2") (= "=") (binary_expression "*(int *)(param_1 + 0x2254) * 2" (pointer_expression "*(int *)(param_1 + 0x2254)" (* "*") (cast_expression "(int *)(param_1 + 0x2254)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2254)" (( "(") (binary_expression "param_1 + 0x2254" (identifier "param_1") (+ "+") (number_literal "0x2254")) () ")")))) (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar7 = *(int *)(param_1 + 0xce4);" (assignment_expression "iVar7 = *(int *)(param_1 + 0xce4)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(param_1 + 0xce4)" (* "*") (cast_expression "(int *)(param_1 + 0xce4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xce4)" (( "(") (binary_expression "param_1 + 0xce4" (identifier "param_1") (+ "+") (number_literal "0xce4")) () ")"))))) (; ";")) (expression_statement "iVar4 = *(int *)(param_1 + 0xcdc);" (assignment_expression "iVar4 = *(int *)(param_1 + 0xcdc)" (identifier "iVar4") (= "=") (pointer_expression "*(int *)(param_1 + 0xcdc)" (* "*") (cast_expression "(int *)(param_1 + 0xcdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xcdc)" (( "(") (binary_expression "param_1 + 0xcdc" (identifier "param_1") (+ "+") (number_literal "0xcdc")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)(param_1 + 0xce8);" (assignment_expression "iVar6 = *(int *)(param_1 + 0xce8)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(param_1 + 0xce8)" (* "*") (cast_expression "(int *)(param_1 + 0xce8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xce8)" (( "(") (binary_expression "param_1 + 0xce8" (identifier "param_1") (+ "+") (number_literal "0xce8")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(param_1 + 0xce0);" (assignment_expression "iVar5 = *(int *)(param_1 + 0xce0)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(param_1 + 0xce0)" (* "*") (cast_expression "(int *)(param_1 + 0xce0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xce0)" (( "(") (binary_expression "param_1 + 0xce0" (identifier "param_1") (+ "+") (number_literal "0xce0")) () ")"))))) (; ";")) (expression_statement "FUN_000719ac(piVar1,0x102);" (call_expression "FUN_000719ac(piVar1,0x102)" (identifier "FUN_000719ac") (argument_list "(piVar1,0x102)" (( "(") (identifier "piVar1") (, ",") (number_literal "0x102") () ")"))) (; ";")) (if_statement "if (piVar1[2] == 0) {\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }\n  else {\n    iVar3 = *piVar1;\n  }" (if "if") (parenthesized_expression "(piVar1[2] == 0)" (( "(") (binary_expression "piVar1[2] == 0" (subscript_expression "piVar1[2]" (identifier "piVar1") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);\n    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);\n    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);\n    iVar3 = *piVar1;\n  }" ({ "{") (expression_statement "(*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);" (call_expression "(*(code *)PTR_cairo_new_path_000be018)(piVar1[5])" (parenthesized_expression "(*(code *)PTR_cairo_new_path_000be018)" (( "(") (pointer_expression "*(code *)PTR_cairo_new_path_000be018" (* "*") (cast_expression "(code *)PTR_cairo_new_path_000be018" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_cairo_new_path_000be018"))) () ")")) (argument_list "(piVar1[5])" (( "(") (subscript_expression "piVar1[5]" (identifier "piVar1") ([ "[") (number_literal "5") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);" (call_expression "(*(code *)PTR_cairo_rectangle_000be044)(piVar1[5])" (parenthesized_expression "(*(code *)PTR_cairo_rectangle_000be044)" (( "(") (pointer_expression "*(code *)PTR_cairo_rectangle_000be044" (* "*") (cast_expression "(code *)PTR_cairo_rectangle_000be044" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_cairo_rectangle_000be044"))) () ")")) (argument_list "(piVar1[5])" (( "(") (subscript_expression "piVar1[5]" (identifier "piVar1") ([ "[") (number_literal "5") (] "]")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);" (call_expression "(*(code *)PTR_cairo_fill_000bdab4)(piVar1[5])" (parenthesized_expression "(*(code *)PTR_cairo_fill_000bdab4)" (( "(") (pointer_expression "*(code *)PTR_cairo_fill_000bdab4" (* "*") (cast_expression "(code *)PTR_cairo_fill_000bdab4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_cairo_fill_000bdab4"))) () ")")) (argument_list "(piVar1[5])" (( "(") (subscript_expression "piVar1[5]" (identifier "piVar1") ([ "[") (number_literal "5") (] "]")) () ")"))) (; ";")) (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" (identifier "iVar3") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (} "}")) (else_clause "else {\n    iVar3 = *piVar1;\n  }" (else "else") (compound_statement "{\n    iVar3 = *piVar1;\n  }" ({ "{") (expression_statement "iVar3 = *piVar1;" (assignment_expression "iVar3 = *piVar1" (identifier "iVar3") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);" (call_expression "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)\n            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2)" (parenthesized_expression "(*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)" (( "(") (pointer_expression "*(code *)PTR_gtk_widget_queue_draw_area_000be1b8" (* "*") (cast_expression "(code *)PTR_gtk_widget_queue_draw_area_000be1b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gtk_widget_queue_draw_area_000be1b8"))) () ")")) (argument_list "(*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2)" (( "(") (pointer_expression "*(undefined4 *)(iVar3 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar3 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 4)" (( "(") (binary_expression "iVar3 + 4" (identifier "iVar3") (+ "+") (number_literal "4")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "iVar7 * iVar4 + iVar2" (binary_expression "iVar7 * iVar4" (identifier "iVar7") (* "*") (identifier "iVar4")) (+ "+") (identifier "iVar2")) (, ",") (binary_expression "iVar6 * iVar5 + iVar2" (binary_expression "iVar6 * iVar5" (identifier "iVar6") (* "*") (identifier "iVar5")) (+ "+") (identifier "iVar2")) () ")"))) (; ";")) (expression_statement "free_ctx(piVar1);" (call_expression "free_ctx(piVar1)" (identifier "free_ctx") (argument_list "(piVar1)" (( "(") (identifier "piVar1") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal) (number_literal) (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (return_statement))))

void MASKED(int param_1)

{
  int *piVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  
  piVar1 = (int *)get_ctx();
  iVar2 = *(int *)(param_1 + 0x2254) * 2;
  iVar7 = *(int *)(param_1 + 0xce4);
  iVar4 = *(int *)(param_1 + 0xcdc);
  iVar6 = *(int *)(param_1 + 0xce8);
  iVar5 = *(int *)(param_1 + 0xce0);
  FUN_000719ac(piVar1,0x102);
  if (piVar1[2] == 0) {
    (*(code *)PTR_cairo_new_path_000be018)(piVar1[5]);
    (*(code *)PTR_cairo_rectangle_000be044)(piVar1[5]);
    (*(code *)PTR_cairo_fill_000bdab4)(piVar1[5]);
    iVar3 = *piVar1;
  }
  else {
    iVar3 = *piVar1;
  }
  (*(code *)PTR_gtk_widget_queue_draw_area_000be1b8)
            (*(undefined4 *)(iVar3 + 4),0,0,iVar7 * iVar4 + iVar2,iVar6 * iVar5 + iVar2);
  free_ctx(piVar1);
  return;
}

