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

void PixelGetHSL(PixelWand *wand,double *hue,double *saturation,double *lightness)

{
  double dVar1;
  
  if (wand == (PixelWand *)0x0) {
    (*(code *)PTR___assert_fail_00178728)
              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,
               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,
               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);
    return;
  }
  if (wand->signature == 0xabacadab) {
    if (wand->debug == MagickFalse) {
      dVar1 = (wand->pixel).green;
    }
    else {
      (*(code *)PTR_LogMagickEvent_00178490)
                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,
                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,
                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);
      dVar1 = (wand->pixel).green;
    }
    (*(code *)PTR_ConvertRGBToHSL_00178148)((double)(float)(wand->pixel).red,(double)(float)dVar1);
    return;
  }
  (*(code *)PTR___assert_fail_00178728)
            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,
             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);
  return;
}



void PixelGetHSL(int param_1)

{
  double dVar1;
  
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_00178728)
              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,
               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,
               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);
    return;
  }
  if (*(int *)(param_1 + 0x1068) == -0x54535255) {
    if (*(int *)(param_1 + 0x1064) == 0) {
      dVar1 = *(double *)(param_1 + 0x1038);
    }
    else {
      (*(code *)PTR_LogMagickEvent_00178490)
                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,
                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,
                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);
      dVar1 = *(double *)(param_1 + 0x1038);
    }
    (*(code *)PTR_ConvertRGBToHSL_00178148)
              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);
    return;
  }
  (*(code *)PTR___assert_fail_00178728)
            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,
             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);
  return;
}


lui gp,0x5
addiu gp,gp,0x3808
addu gp,gp,t9
addiu sp,sp,-0x48
sw ra,0x44(sp)
sw s3,0x40(sp)
sw s2,0x3c(sp)
sw s1,0x38(sp)
sw s0,0x34(sp)
sw gp,0x28(sp)
beq a0,zero,0x0012c8b0
_lui v0,0xabac
or s0,a0,zero
or s1,a1,zero
or s2,a2,zero
lw v1,0x1068(a0)
ori v0,v0,0xadab
bne v1,v0,0x0012c8d8
_or s3,a3,zero
lw v0,0x1064(a0)
bne v0,zero,0x0012c900
_addiu v0,a0,0x4
ldc1 f14,0x1038(s0)
cvt.s.D f14,f14
ldc1 f12,0x1030(s0)
cvt.s.D f12,f12
sw s3,0x20(sp)
sw s2,0x1c(sp)
sw s1,0x18(sp)
ldc1 f0,0x1040(s0)
cvt.s.D f0,f0
cvt.d.S f0,f0
sdc1 f0,0x10(sp)
cvt.d.S f14,f14
cvt.d.S f12,f12
lw t9,-0x7eb8(gp)
jalr t9
_nop
lw gp,0x28(sp)
lw ra,0x44(sp)
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x48
lw a3,-0x7fc8(gp)
addiu a3,a3,-0x2004
li a2,0x42a
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x2720
lw a0,-0x7fc8(gp)
addiu a0,a0,-0x2604
lw t9,-0x78d8(gp)
jalr t9
_nop
lw a3,-0x7fc8(gp)
addiu a3,a3,-0x2004
li a2,0x42b
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x2720
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,0x42d
lw a2,-0x7fc8(gp)
addiu a2,a2,-0x2010
lw a1,-0x7fc8(gp)
addiu a1,a1,-0x2720
lui a0,0x4
lw t9,-0x7b70(gp)
jalr t9
_nop
lw gp,0x28(sp)
b 0x0012c854
_ldc1 f14,0x1038(s0)
(translation_unit "void PixelGetHSL(int param_1)\n\n{\n  double dVar1;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}\n\n" (function_definition "void PixelGetHSL(int param_1)\n\n{\n  double dVar1;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}" primitive_type (function_declarator "PixelGetHSL(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" ( (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604" identifier + number_literal) , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" identifier + number_literal) , number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1068) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1068) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1068)" * (cast_expression "(int *)(param_1 + 0x1068)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1068)" ( (binary_expression "param_1 + 0x1068" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }" { (if_statement "if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1064) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1064) == 0" (pointer_expression "*(int *)(param_1 + 0x1064)" * (cast_expression "(int *)(param_1 + 0x1064)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1064)" ( (binary_expression "param_1 + 0x1064" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" { (expression_statement "dVar1 = *(double *)(param_1 + 0x1038);" (assignment_expression "dVar1 = *(double *)(param_1 + 0x1038)" identifier = (pointer_expression "*(double *)(param_1 + 0x1038)" * (cast_expression "(double *)(param_1 + 0x1038)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1038)" ( (binary_expression "param_1 + 0x1038" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" else (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);" (call_expression "(*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4)" ( number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" identifier + number_literal) , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010" 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 "dVar1 = *(double *)(param_1 + 0x1038);" (assignment_expression "dVar1 = *(double *)(param_1 + 0x1038)" identifier = (pointer_expression "*(double *)(param_1 + 0x1038)" * (cast_expression "(double *)(param_1 + 0x1038)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1038)" ( (binary_expression "param_1 + 0x1038" identifier + number_literal) ))))) ;) }))) (expression_statement "(*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);" (call_expression "(*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1)" (parenthesized_expression "(*(code *)PTR_ConvertRGBToHSL_00178148)" ( (pointer_expression "*(code *)PTR_ConvertRGBToHSL_00178148" * (cast_expression "(code *)PTR_ConvertRGBToHSL_00178148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1)" ( (cast_expression "(double)(float)*(double *)(param_1 + 0x1030)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(param_1 + 0x1030)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(param_1 + 0x1030)" * (cast_expression "(double *)(param_1 + 0x1030)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1030)" ( (binary_expression "param_1 + 0x1030" identifier + number_literal) )))))) , (cast_expression "(double)(float)dVar1" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)dVar1" ( (type_descriptor "float" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" ( (binary_expression "PTR_s_oint_00178034 + -0x1e54" identifier + number_literal) , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" identifier + number_literal) , number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nvoid PixelGetHSL(PixelWand *wand,double *hue,double *saturation,double *lightness)\n\n{\n  double dVar1;\n  \n  if (wand == (PixelWand *)0x0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (wand->signature == 0xabacadab) {\n    if (wand->debug == MagickFalse) {\n      dVar1 = (wand->pixel).green;\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n      dVar1 = (wand->pixel).green;\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)((double)(float)(wand->pixel).red,(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}\n\n" comment (function_definition "void PixelGetHSL(PixelWand *wand,double *hue,double *saturation,double *lightness)\n\n{\n  double dVar1;\n  \n  if (wand == (PixelWand *)0x0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (wand->signature == 0xabacadab) {\n    if (wand->debug == MagickFalse) {\n      dVar1 = (wand->pixel).green;\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n      dVar1 = (wand->pixel).green;\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)((double)(float)(wand->pixel).red,(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}" primitive_type (function_declarator "PixelGetHSL(PixelWand *wand,double *hue,double *saturation,double *lightness)" identifier (parameter_list "(PixelWand *wand,double *hue,double *saturation,double *lightness)" ( (parameter_declaration "PixelWand *wand" type_identifier (pointer_declarator "*wand" * identifier)) , (parameter_declaration "double *hue" primitive_type (pointer_declarator "*hue" * identifier)) , (parameter_declaration "double *saturation" primitive_type (pointer_declarator "*saturation" * identifier)) , (parameter_declaration "double *lightness" primitive_type (pointer_declarator "*lightness" * identifier)) ))) (compound_statement "{\n  double dVar1;\n  \n  if (wand == (PixelWand *)0x0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (wand->signature == 0xabacadab) {\n    if (wand->debug == MagickFalse) {\n      dVar1 = (wand->pixel).green;\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n      dVar1 = (wand->pixel).green;\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)((double)(float)(wand->pixel).red,(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (if_statement "if (wand == (PixelWand *)0x0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }" if (parenthesized_expression "(wand == (PixelWand *)0x0)" ( (binary_expression "wand == (PixelWand *)0x0" identifier == (cast_expression "(PixelWand *)0x0" ( (type_descriptor "PixelWand *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" ( (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604" identifier + number_literal) , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" identifier + number_literal) , number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (wand->signature == 0xabacadab) {\n    if (wand->debug == MagickFalse) {\n      dVar1 = (wand->pixel).green;\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n      dVar1 = (wand->pixel).green;\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)((double)(float)(wand->pixel).red,(double)(float)dVar1);\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    if (wand->debug == MagickFalse) {\n      dVar1 = (wand->pixel).green;\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n      dVar1 = (wand->pixel).green;\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)((double)(float)(wand->pixel).red,(double)(float)dVar1);\n    return;\n  }" { (if_statement "if (wand->debug == MagickFalse) {\n      dVar1 = (wand->pixel).green;\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n      dVar1 = (wand->pixel).green;\n    }" if (parenthesized_expression "(wand->debug == MagickFalse)" ( (binary_expression "wand->debug == MagickFalse" (field_expression "wand->debug" identifier -> field_identifier) == identifier) )) (compound_statement "{\n      dVar1 = (wand->pixel).green;\n    }" { (expression_statement "dVar1 = (wand->pixel).green;" (assignment_expression "dVar1 = (wand->pixel).green" identifier = (field_expression "(wand->pixel).green" (parenthesized_expression "(wand->pixel)" ( (field_expression "wand->pixel" identifier -> field_identifier) )) . field_identifier)) ;) }) (else_clause "else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n      dVar1 = (wand->pixel).green;\n    }" else (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);\n      dVar1 = (wand->pixel).green;\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name);" (call_expression "(*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,wand->name)" ( number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" identifier + number_literal) , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010" 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 "dVar1 = (wand->pixel).green;" (assignment_expression "dVar1 = (wand->pixel).green" identifier = (field_expression "(wand->pixel).green" (parenthesized_expression "(wand->pixel)" ( (field_expression "wand->pixel" identifier -> field_identifier) )) . field_identifier)) ;) }))) (expression_statement "(*(code *)PTR_ConvertRGBToHSL_00178148)((double)(float)(wand->pixel).red,(double)(float)dVar1);" (call_expression "(*(code *)PTR_ConvertRGBToHSL_00178148)((double)(float)(wand->pixel).red,(double)(float)dVar1)" (parenthesized_expression "(*(code *)PTR_ConvertRGBToHSL_00178148)" ( (pointer_expression "*(code *)PTR_ConvertRGBToHSL_00178148" * (cast_expression "(code *)PTR_ConvertRGBToHSL_00178148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((double)(float)(wand->pixel).red,(double)(float)dVar1)" ( (cast_expression "(double)(float)(wand->pixel).red" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)(wand->pixel).red" ( (type_descriptor "float" primitive_type) ) (field_expression "(wand->pixel).red" (parenthesized_expression "(wand->pixel)" ( (field_expression "wand->pixel" identifier -> field_identifier) )) . field_identifier))) , (cast_expression "(double)(float)dVar1" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)dVar1" ( (type_descriptor "float" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" ( (binary_expression "PTR_s_oint_00178034 + -0x1e54" identifier + number_literal) , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" identifier + number_literal) , number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void PixelGetHSL(int param_1)\n\n{\n  double dVar1;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}\n\n" (function_definition "void PixelGetHSL(int param_1)\n\n{\n  double dVar1;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}" primitive_type (function_declarator "PixelGetHSL(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }" { (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" ( (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604" identifier + number_literal) , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" identifier + number_literal) , number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1068) == -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x1068) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1068)" * (cast_expression "(int *)(param_1 + 0x1068)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1068)" ( (binary_expression "param_1 + 0x1068" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }" { (if_statement "if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x1064) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1064) == 0" (pointer_expression "*(int *)(param_1 + 0x1064)" * (cast_expression "(int *)(param_1 + 0x1064)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1064)" ( (binary_expression "param_1 + 0x1064" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" { (expression_statement "dVar1 = *(double *)(param_1 + 0x1038);" (assignment_expression "dVar1 = *(double *)(param_1 + 0x1038)" identifier = (pointer_expression "*(double *)(param_1 + 0x1038)" * (cast_expression "(double *)(param_1 + 0x1038)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1038)" ( (binary_expression "param_1 + 0x1038" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" else (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" { (expression_statement "(*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);" (call_expression "(*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4)" ( number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" identifier + number_literal) , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010" 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 "dVar1 = *(double *)(param_1 + 0x1038);" (assignment_expression "dVar1 = *(double *)(param_1 + 0x1038)" identifier = (pointer_expression "*(double *)(param_1 + 0x1038)" * (cast_expression "(double *)(param_1 + 0x1038)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1038)" ( (binary_expression "param_1 + 0x1038" identifier + number_literal) ))))) ;) }))) (expression_statement "(*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);" (call_expression "(*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1)" (parenthesized_expression "(*(code *)PTR_ConvertRGBToHSL_00178148)" ( (pointer_expression "*(code *)PTR_ConvertRGBToHSL_00178148" * (cast_expression "(code *)PTR_ConvertRGBToHSL_00178148" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1)" ( (cast_expression "(double)(float)*(double *)(param_1 + 0x1030)" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)*(double *)(param_1 + 0x1030)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(param_1 + 0x1030)" * (cast_expression "(double *)(param_1 + 0x1030)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1030)" ( (binary_expression "param_1 + 0x1030" identifier + number_literal) )))))) , (cast_expression "(double)(float)dVar1" ( (type_descriptor "double" primitive_type) ) (cast_expression "(float)dVar1" ( (type_descriptor "float" primitive_type) ) identifier)) ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" ( (binary_expression "PTR_s_oint_00178034 + -0x1e54" identifier + number_literal) , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" identifier + number_literal) , number_literal , (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (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 { (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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (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 (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (return_statement return ;) })) (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 ;) })))
(function_definition "void PixelGetHSL(int param_1)\n\n{\n  double dVar1;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}" (primitive_type "void") (function_declarator "PixelGetHSL(int param_1)" (identifier "PixelGetHSL") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  double dVar1;\n  \n  if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }\n  if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }\n  (*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n  return;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (if_statement "if (param_1 == 0) {\n    (*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,\n               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (( "(") (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604" (identifier "PTR_fde_table_entry_0015fffc_data_loc_00178038") (+ "+") (number_literal "-0x2604")) (, ",") (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" (identifier "PTR_fde_table_entry_0015fffc_data_loc_00178038") (+ "+") (number_literal "-0x2720")) (, ",") (number_literal "0x42a") (, ",") (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004" (identifier "PTR_fde_table_entry_0015fffc_data_loc_00178038") (+ "+") (number_literal "-0x2004")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x1068) == -0x54535255) {\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1068) == -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x1068) == -0x54535255" (pointer_expression "*(int *)(param_1 + 0x1068)" (* "*") (cast_expression "(int *)(param_1 + 0x1068)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1068)" (( "(") (binary_expression "param_1 + 0x1068" (identifier "param_1") (+ "+") (number_literal "0x1068")) () ")")))) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    (*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);\n    return;\n  }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x1064) == 0) {\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }\n    else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1064) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1064) == 0" (pointer_expression "*(int *)(param_1 + 0x1064)" (* "*") (cast_expression "(int *)(param_1 + 0x1064)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1064)" (( "(") (binary_expression "param_1 + 0x1064" (identifier "param_1") (+ "+") (number_literal "0x1064")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" ({ "{") (expression_statement "dVar1 = *(double *)(param_1 + 0x1038);" (assignment_expression "dVar1 = *(double *)(param_1 + 0x1038)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(param_1 + 0x1038)" (* "*") (cast_expression "(double *)(param_1 + 0x1038)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1038)" (( "(") (binary_expression "param_1 + 0x1038" (identifier "param_1") (+ "+") (number_literal "0x1038")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" (else "else") (compound_statement "{\n      (*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);\n      dVar1 = *(double *)(param_1 + 0x1038);\n    }" ({ "{") (expression_statement "(*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);" (call_expression "(*(code *)PTR_LogMagickEvent_00178490)\n                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,\n                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4)" (( "(") (number_literal "0x40000") (, ",") (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" (identifier "PTR_fde_table_entry_0015fffc_data_loc_00178038") (+ "+") (number_literal "-0x2720")) (, ",") (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010" (identifier "PTR_fde_table_entry_0015fffc_data_loc_00178038") (+ "+") (number_literal "-0x2010")) (, ",") (number_literal "0x42d") (, ",") (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 "dVar1 = *(double *)(param_1 + 0x1038);" (assignment_expression "dVar1 = *(double *)(param_1 + 0x1038)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(param_1 + 0x1038)" (* "*") (cast_expression "(double *)(param_1 + 0x1038)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1038)" (( "(") (binary_expression "param_1 + 0x1038" (identifier "param_1") (+ "+") (number_literal "0x1038")) () ")"))))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);" (call_expression "(*(code *)PTR_ConvertRGBToHSL_00178148)\n              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1)" (parenthesized_expression "(*(code *)PTR_ConvertRGBToHSL_00178148)" (( "(") (pointer_expression "*(code *)PTR_ConvertRGBToHSL_00178148" (* "*") (cast_expression "(code *)PTR_ConvertRGBToHSL_00178148" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_ConvertRGBToHSL_00178148"))) () ")")) (argument_list "((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1)" (( "(") (cast_expression "(double)(float)*(double *)(param_1 + 0x1030)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)*(double *)(param_1 + 0x1030)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(param_1 + 0x1030)" (* "*") (cast_expression "(double *)(param_1 + 0x1030)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1030)" (( "(") (binary_expression "param_1 + 0x1030" (identifier "param_1") (+ "+") (number_literal "0x1030")) () ")")))))) (, ",") (cast_expression "(double)(float)dVar1" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(float)dVar1" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (identifier "dVar1"))) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);" (call_expression "(*(code *)PTR___assert_fail_00178728)\n            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (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_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,\n             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004)" (( "(") (binary_expression "PTR_s_oint_00178034 + -0x1e54" (identifier "PTR_s_oint_00178034") (+ "+") (number_literal "-0x1e54")) (, ",") (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720" (identifier "PTR_fde_table_entry_0015fffc_data_loc_00178038") (+ "+") (number_literal "-0x2720")) (, ",") (number_literal "0x42b") (, ",") (binary_expression "PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004" (identifier "PTR_fde_table_entry_0015fffc_data_loc_00178038") (+ "+") (number_literal "-0x2004")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

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

void function_1(type_1 *var_1,double *hue,double *saturation,double *lightness)

{
  double dVar1;
  
  if (var_1 == (type_1 *)0x0) {
    (*(type_2 *)PTR___assert_fail_00178728)
              (var_2 + -0x2604,
               var_2 + -0x2720,0x42a,
               var_2 + -0x2004);
    return;
  }
  if (var_1->signature == 0xabacadab) {
    if (var_1->debug == var_3) {
      dVar1 = (var_1->pixel).green;
    }
    else {
      (*(type_2 *)PTR_LogMagickEvent_00178490)
                (0x40000,var_2 + -0x2720,
                 var_2 + -0x2010,0x42d,
                 var_2 + -0x7318,var_1->name);
      dVar1 = (var_1->pixel).green;
    }
    (*(type_2 *)PTR_ConvertRGBToHSL_00178148)((double)(float)(var_1->pixel).red,(double)(float)dVar1);
    return;
  }
  (*(type_2 *)PTR___assert_fail_00178728)
            (var_4 + -0x1e54,var_2 + -0x2720,
             0x42b,var_2 + -0x2004);
  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: (identifier)) (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 (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 (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)))))))) alternative: (else_clause (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 (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))))) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (return_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))))

void MASKED(int param_1)

{
  double dVar1;
  
  if (param_1 == 0) {
    (*(code *)PTR___assert_fail_00178728)
              (PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2604,
               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,0x42a,
               PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);
    return;
  }
  if (*(int *)(param_1 + 0x1068) == -0x54535255) {
    if (*(int *)(param_1 + 0x1064) == 0) {
      dVar1 = *(double *)(param_1 + 0x1038);
    }
    else {
      (*(code *)PTR_LogMagickEvent_00178490)
                (0x40000,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,
                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2010,0x42d,
                 PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x7318,param_1 + 4);
      dVar1 = *(double *)(param_1 + 0x1038);
    }
    (*(code *)PTR_ConvertRGBToHSL_00178148)
              ((double)(float)*(double *)(param_1 + 0x1030),(double)(float)dVar1);
    return;
  }
  (*(code *)PTR___assert_fail_00178728)
            (PTR_s_oint_00178034 + -0x1e54,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2720,
             0x42b,PTR_fde_table_entry_0015fffc_data_loc_00178038 + -0x2004);
  return;
}

