
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "ComplianceType": Some values do not have unique names */

void DrawRotate(DrawingWand *wand,double degrees)

{
  undefined4 in_a2;
  
  if (wand == (DrawingWand *)0x0) {
    (*(code *)PTR___assert_fail_00178728)
              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,
               PTR_s_oint_00178034 + -0x550c);
    return;
  }
  if (wand->signature != 0xabacadab) {
    (*(code *)PTR___assert_fail_00178728)
              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,
               PTR_s_oint_00178034 + -0x550c);
    return;
  }
  if (wand->debug != MagickFalse) {
    (*(code *)PTR_LogMagickEvent_00178490)
              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,
               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);
  }
  MVGPrintf(wand,PTR_s_oint_00178034 + -0x6210,in_a2);
  return;
}



void DrawRotate(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_00178728)
              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,
               PTR_s_oint_00178034 + -0x550c);
    return;
  }
  if (*(int *)(param_1 + 0x1054) != -0x54535255) {
    (*(code *)PTR___assert_fail_00178728)
              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,
               PTR_s_oint_00178034 + -0x550c);
    return;
  }
  if (*(int *)(param_1 + 0x1050) != 0) {
    (*(code *)PTR_LogMagickEvent_00178490)
              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,
               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);
  }
  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);
  return;
}


lui gp,0x10
addiu gp,gp,0x1bb0
addu gp,gp,t9
addiu sp,sp,-0x30
sw ra,0x24(sp)
sw s0,0x20(sp)
sdc1 f20,0x28(sp)
sw gp,0x18(sp)
mtc1 a3,f20
beq a0,zero,0x0007e4d8
_mthc1 a2,f20
lw v1,0x1054(a0)
lui v0,0xabac
ori v0,v0,0xadab
bne v1,v0,0x0007e500
_or s0,a0,zero
lw v0,0x1050(a0)
bne v0,zero,0x0007e528
_addiu v0,a0,0x4
mfc1 a3,f20
mfhc1 a2,f20
lw a1,-0x7fcc(gp)
addiu a1,a1,-0x6210
or a0,s0,zero
lw t9,-0x7fbc(gp)
addiu t9,t9,0x4f08
bal 0x00074f08
_nop
lw gp,0x18(sp)
lw ra,0x24(sp)
lw s0,0x20(sp)
ldc1 f20,0x28(sp)
jr ra
_addiu sp,sp,0x30
lw a3,-0x7fcc(gp)
addiu a3,a3,-0x550c
li a2,0x1159
lw a1,-0x7fcc(gp)
addiu a1,a1,-0x6960
lw a0,-0x7fcc(gp)
addiu a0,a0,-0x6944
lw t9,-0x78d8(gp)
jalr t9
_nop
lw a3,-0x7fcc(gp)
addiu a3,a3,-0x550c
li a2,0x115a
lw a1,-0x7fcc(gp)
addiu a1,a1,-0x6960
lw a0,-0x7fcc(gp)
addiu a0,a0,-0x1e54
lw t9,-0x78d8(gp)
jalr t9
_nop
sw v0,0x14(sp)
lw v0,-0x7fc8(gp)
addiu v0,v0,-0x7318
sw v0,0x10(sp)
li a3,0x115c
lw a2,-0x7fcc(gp)
addiu a2,a2,-0x5518
lw a1,-0x7fcc(gp)
addiu a1,a1,-0x6960
lui a0,0x4
lw t9,-0x7b70(gp)
jalr t9
_nop
lw gp,0x18(sp)
b 0x0007e4a0
_mfc1 a3,f20
(translation_unit "void DrawRotate(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }\n  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);\n  return;\n}\n\n" (function_definition "void DrawRotate(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }\n  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);\n  return;\n}" primitive_type (function_declarator "DrawRotate(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }\n  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);\n  return;\n}" { (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c)" (parenthesized_expression "(*(code *)PTR___assert_fail_00178728)" ( (pointer_expression "*(code *)PTR___assert_fail_00178728" * (cast_expression "(code *)PTR___assert_fail_00178728" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c)" ( (binary_expression "PTR_s_oint_00178034 + -0x6944" identifier + number_literal) , (binary_expression "PTR_s_oint_00178034 + -0x6960" identifier + number_literal) , number_literal , (binary_expression "PTR_s_oint_00178034 + -0x550c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1054) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" * (cast_expression "(int *)(param_1 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1054)" ( (binary_expression "param_1 + 0x1054" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c)" (parenthesized_expression "(*(code *)PTR___assert_fail_00178728)" ( (pointer_expression "*(code *)PTR___assert_fail_00178728" * (cast_expression "(code *)PTR___assert_fail_00178728" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c)" ( (binary_expression "PTR_s_oint_00178034 + -0x1e54" identifier + number_literal) , (binary_expression "PTR_s_oint_00178034 + -0x6960" identifier + number_literal) , number_literal , (binary_expression "PTR_s_oint_00178034 + -0x550c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" * (cast_expression "(int *)(param_1 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1050)" ( (binary_expression "param_1 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);" (call_expression "(*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_00178490)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_00178490" * (cast_expression "(code *)PTR_LogMagickEvent_00178490" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4)" ( number_literal , (binary_expression "PTR_s_oint_00178034 + -0x6960" identifier + number_literal) , (binary_expression "PTR_s_oint_00178034 + -0x5518" identifier + number_literal) , number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318" identifier + number_literal) , (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) })) (expression_statement "FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);" (call_expression "FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4)" identifier (argument_list "(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4)" ( identifier , (binary_expression "PTR_s_oint_00178034 + -0x6210" identifier + number_literal) , number_literal , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "ComplianceType": Some values do not have unique names */\n\nvoid DrawRotate(DrawingWand *wand,double degrees)\n\n{\n  undefined4 in_a2;\n  \n  if (wand == (DrawingWand *)0x0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (wand->signature != 0xabacadab) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (wand->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n  }\n  MVGPrintf(wand,PTR_s_oint_00178034 + -0x6210,in_a2);\n  return;\n}\n\n" comment comment comment comment comment comment (function_definition "void DrawRotate(DrawingWand *wand,double degrees)\n\n{\n  undefined4 in_a2;\n  \n  if (wand == (DrawingWand *)0x0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (wand->signature != 0xabacadab) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (wand->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n  }\n  MVGPrintf(wand,PTR_s_oint_00178034 + -0x6210,in_a2);\n  return;\n}" primitive_type (function_declarator "DrawRotate(DrawingWand *wand,double degrees)" identifier (parameter_list "(DrawingWand *wand,double degrees)" ( (parameter_declaration "DrawingWand *wand" type_identifier (pointer_declarator "*wand" * identifier)) , (parameter_declaration "double degrees" primitive_type identifier) ))) (compound_statement "{\n  undefined4 in_a2;\n  \n  if (wand == (DrawingWand *)0x0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (wand->signature != 0xabacadab) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (wand->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n  }\n  MVGPrintf(wand,PTR_s_oint_00178034 + -0x6210,in_a2);\n  return;\n}" { (declaration "undefined4 in_a2;" type_identifier identifier ;) (if_statement "if (wand == (DrawingWand *)0x0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" if (parenthesized_expression "(wand == (DrawingWand *)0x0)" ( (binary_expression "wand == (DrawingWand *)0x0" identifier == (cast_expression "(DrawingWand *)0x0" ( (type_descriptor "DrawingWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c)" (parenthesized_expression "(*(code *)PTR___assert_fail_00178728)" ( (pointer_expression "*(code *)PTR___assert_fail_00178728" * (cast_expression "(code *)PTR___assert_fail_00178728" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c)" ( (binary_expression "PTR_s_oint_00178034 + -0x6944" identifier + number_literal) , (binary_expression "PTR_s_oint_00178034 + -0x6960" identifier + number_literal) , number_literal , (binary_expression "PTR_s_oint_00178034 + -0x550c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (wand->signature != 0xabacadab) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" if (parenthesized_expression "(wand->signature != 0xabacadab)" ( (binary_expression "wand->signature != 0xabacadab" (field_expression "wand->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c)" (parenthesized_expression "(*(code *)PTR___assert_fail_00178728)" ( (pointer_expression "*(code *)PTR___assert_fail_00178728" * (cast_expression "(code *)PTR___assert_fail_00178728" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c)" ( (binary_expression "PTR_s_oint_00178034 + -0x1e54" identifier + number_literal) , (binary_expression "PTR_s_oint_00178034 + -0x6960" identifier + number_literal) , number_literal , (binary_expression "PTR_s_oint_00178034 + -0x550c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (wand->debug != MagickFalse) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n  }" if (parenthesized_expression "(wand->debug != MagickFalse)" ( (binary_expression "wand->debug != MagickFalse" (field_expression "wand->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);" (call_expression "(*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_00178490)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_00178490" * (cast_expression "(code *)PTR_LogMagickEvent_00178490" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name)" ( number_literal , (binary_expression "PTR_s_oint_00178034 + -0x6960" identifier + number_literal) , (binary_expression "PTR_s_oint_00178034 + -0x5518" identifier + number_literal) , number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318" identifier + number_literal) , (field_expression "wand->name" identifier -> field_identifier) ))) ;) })) (expression_statement "MVGPrintf(wand,PTR_s_oint_00178034 + -0x6210,in_a2);" (call_expression "MVGPrintf(wand,PTR_s_oint_00178034 + -0x6210,in_a2)" identifier (argument_list "(wand,PTR_s_oint_00178034 + -0x6210,in_a2)" ( identifier , (binary_expression "PTR_s_oint_00178034 + -0x6210" identifier + number_literal) , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void DrawRotate(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }\n  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);\n  return;\n}\n\n" (function_definition "void DrawRotate(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }\n  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);\n  return;\n}" primitive_type (function_declarator "DrawRotate(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }\n  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);\n  return;\n}" { (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c)" (parenthesized_expression "(*(code *)PTR___assert_fail_00178728)" ( (pointer_expression "*(code *)PTR___assert_fail_00178728" * (cast_expression "(code *)PTR___assert_fail_00178728" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c)" ( (binary_expression "PTR_s_oint_00178034 + -0x6944" identifier + number_literal) , (binary_expression "PTR_s_oint_00178034 + -0x6960" identifier + number_literal) , number_literal , (binary_expression "PTR_s_oint_00178034 + -0x550c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1054) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" * (cast_expression "(int *)(param_1 + 0x1054)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1054)" ( (binary_expression "param_1 + 0x1054" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c)" (parenthesized_expression "(*(code *)PTR___assert_fail_00178728)" ( (pointer_expression "*(code *)PTR___assert_fail_00178728" * (cast_expression "(code *)PTR___assert_fail_00178728" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c)" ( (binary_expression "PTR_s_oint_00178034 + -0x1e54" identifier + number_literal) , (binary_expression "PTR_s_oint_00178034 + -0x6960" identifier + number_literal) , number_literal , (binary_expression "PTR_s_oint_00178034 + -0x550c" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" * (cast_expression "(int *)(param_1 + 0x1050)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1050)" ( (binary_expression "param_1 + 0x1050" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }" { (expression_statement "(*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);" (call_expression "(*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_00178490)" ( (pointer_expression "*(code *)PTR_LogMagickEvent_00178490" * (cast_expression "(code *)PTR_LogMagickEvent_00178490" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4)" ( number_literal , (binary_expression "PTR_s_oint_00178034 + -0x6960" identifier + number_literal) , (binary_expression "PTR_s_oint_00178034 + -0x5518" identifier + number_literal) , number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318" identifier + number_literal) , (binary_expression "param_1 + 4" identifier + number_literal) ))) ;) })) (expression_statement "FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);" (call_expression "FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4)" identifier (argument_list "(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4)" ( identifier , (binary_expression "PTR_s_oint_00178034 + -0x6210" identifier + number_literal) , number_literal , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 ( (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_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 ( LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void DrawRotate(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }\n  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);\n  return;\n}" (primitive_type "void") (function_declarator "DrawRotate(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (identifier "DrawRotate") (parameter_list "(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }\n  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);\n  return;\n}" ({ "{") (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c)" (parenthesized_expression "(*(code *)PTR___assert_fail_00178728)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_00178728" (* "*") (cast_expression "(code *)PTR___assert_fail_00178728" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_00178728"))) () ")")) (argument_list "(PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,\n               PTR_s_oint_00178034 + -0x550c)" (( "(") (binary_expression "PTR_s_oint_00178034 + -0x6944" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x6944")) (, ",") (binary_expression "PTR_s_oint_00178034 + -0x6960" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x6960")) (, ",") (number_literal "0x1159") (, ",") (binary_expression "PTR_s_oint_00178034 + -0x550c" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x550c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x1054) != -0x54535255) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1054) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x1054) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1054)" (* "*") (cast_expression "(int *)(param_1 + 0x1054)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1054)" (( "(") (binary_expression "param_1 + 0x1054" (identifier "param_1") (+ "+") (number_literal "0x1054")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c)" (parenthesized_expression "(*(code *)PTR___assert_fail_00178728)" (( "(") (pointer_expression "*(code *)PTR___assert_fail_00178728" (* "*") (cast_expression "(code *)PTR___assert_fail_00178728" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___assert_fail_00178728"))) () ")")) (argument_list "(PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,\n               PTR_s_oint_00178034 + -0x550c)" (( "(") (binary_expression "PTR_s_oint_00178034 + -0x1e54" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x1e54")) (, ",") (binary_expression "PTR_s_oint_00178034 + -0x6960" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x6960")) (, ",") (number_literal "0x115a") (, ",") (binary_expression "PTR_s_oint_00178034 + -0x550c" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x550c")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x1050) != 0) {\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1050) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1050) != 0" (pointer_expression "*(int *)(param_1 + 0x1050)" (* "*") (cast_expression "(int *)(param_1 + 0x1050)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1050)" (( "(") (binary_expression "param_1 + 0x1050" (identifier "param_1") (+ "+") (number_literal "0x1050")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n  }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);" (call_expression "(*(code *)PTR_LogMagickEvent_00178490)\n              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4)" (parenthesized_expression "(*(code *)PTR_LogMagickEvent_00178490)" (( "(") (pointer_expression "*(code *)PTR_LogMagickEvent_00178490" (* "*") (cast_expression "(code *)PTR_LogMagickEvent_00178490" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_LogMagickEvent_00178490"))) () ")")) (argument_list "(0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "PTR_s_oint_00178034 + -0x6960" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x6960")) (, ",") (binary_expression "PTR_s_oint_00178034 + -0x5518" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x5518")) (, ",") (number_literal "0x115c") (, ",") (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318" (identifier "PTR_fde_table_entry_0015fffc_data_loc_00178038") (+ "+") (number_literal "-0x7318")) (, ",") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);" (call_expression "FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4)" (identifier "FUN_00074f08") (argument_list "(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_s_oint_00178034 + -0x6210" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x6210")) (, ",") (number_literal "0") (, ",") (identifier "param_4") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "ComplianceType": Some values do not have unique names */

void function_1(type_1 *var_1,double degrees)

{
  type_2 in_a2;
  
  if (var_1 == (type_1 *)0x0) {
    (*(type_3 *)PTR___assert_fail_00178728)
              (var_2 + -0x6944,var_2 + -0x6960,0x1159,
               var_2 + -0x550c);
    return;
  }
  if (var_1->signature != 0xabacadab) {
    (*(type_3 *)PTR___assert_fail_00178728)
              (var_2 + -0x1e54,var_2 + -0x6960,0x115a,
               var_2 + -0x550c);
    return;
  }
  if (var_1->debug != var_3) {
    (*(type_3 *)PTR_LogMagickEvent_00178490)
              (0x40000,var_2 + -0x6960,var_2 + -0x5518,0x115c,
               var_4 + -0x7318,var_1->name);
  }
  var_5(var_1,var_2 + -0x6210,in_a2);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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 (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (if_statement condition: (parenthesized_expression (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))) 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 (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (if_statement condition: (parenthesized_expression (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))) 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 (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (identifier)))) (return_statement))))

void MASKED(int param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_00178728)
              (PTR_s_oint_00178034 + -0x6944,PTR_s_oint_00178034 + -0x6960,0x1159,
               PTR_s_oint_00178034 + -0x550c);
    return;
  }
  if (*(int *)(param_1 + 0x1054) != -0x54535255) {
    (*(code *)PTR___assert_fail_00178728)
              (PTR_s_oint_00178034 + -0x1e54,PTR_s_oint_00178034 + -0x6960,0x115a,
               PTR_s_oint_00178034 + -0x550c);
    return;
  }
  if (*(int *)(param_1 + 0x1050) != 0) {
    (*(code *)PTR_LogMagickEvent_00178490)
              (0x40000,PTR_s_oint_00178034 + -0x6960,PTR_s_oint_00178034 + -0x5518,0x115c,
               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);
  }
  FUN_00074f08(param_1,PTR_s_oint_00178034 + -0x6210,0,param_4);
  return;
}

