
/* WARNING: Unknown calling convention */
/* 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 */

size_t RegisterPANGOImage(void)

{
  long lVar1;
  MagickInfo *magick_info;
  char *pcVar2;
  long in_FS_OFFSET;
  char version [4096];
  
  lVar1 = *(long *)(in_FS_OFFSET + 0x28);
  version[0] = '\0';
  magick_info = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");
  if (version[0] != '\0') {
    pcVar2 = ConstantString(version);
    magick_info->version = pcVar2;
  }
  magick_info->flags = magick_info->flags ^ 5;
  RegisterMagickInfo(magick_info);
  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {
    return 0x810;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}



undefined8 RegisterPANGOImage(void)

{
  long lVar1;
  undefined8 uVar2;
  long in_FS_OFFSET;
  char local_1018 [4104];
  long local_10;
  
  local_10 = *(long *)(in_FS_OFFSET + 0x28);
  local_1018[0] = '\0';
  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");
  if (local_1018[0] != '\0') {
    uVar2 = ConstantString(local_1018);
    *(undefined8 *)(lVar1 + 0x10) = uVar2;
  }
  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;
  RegisterMagickInfo(lVar1);
  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {
    return 0x810;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}


PUSH RBX
SUB RSP,0x1010
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x1008],RAX
XOR EAX,EAX
MOV byte ptr [RSP],0x0
LEA RDX,[0x472860]
LEA RSI,[0x432d56]
MOV RDI,RSI
CALL 0x0014abf0
MOV RBX,RAX
CMP byte ptr [RSP],0x0
JNZ 0x00383a3e
XOR dword ptr [RBX + 0x54],0x5
MOV RDI,RBX
CALL 0x0014cdb0
MOV EAX,0x810
MOV RCX,qword ptr [RSP + 0x1008]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x00383a4c
ADD RSP,0x1010
POP RBX
RET
MOV RDI,RSP
CALL 0x0014dac8
MOV qword ptr [RBX + 0x10],RAX
JMP 0x00383a11
CALL 0x0014c5c0
(translation_unit "undefined8 RegisterPANGOImage(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  char local_1018 [4104];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  local_1018[0] = '\0';\n  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }\n  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;\n  RegisterMagickInfo(lVar1);\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 RegisterPANGOImage(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  char local_1018 [4104];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  local_1018[0] = '\0';\n  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }\n  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;\n  RegisterMagickInfo(lVar1);\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" type_identifier (function_declarator "RegisterPANGOImage(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  char local_1018 [4104];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  local_1018[0] = '\0';\n  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }\n  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;\n  RegisterMagickInfo(lVar1);\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "char local_1018 [4104];" primitive_type (array_declarator "local_1018 [4104]" identifier [ number_literal ]) ;) (declaration "long local_10;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_1018[0] = '\0';" (assignment_expression "local_1018[0] = '\0'" (subscript_expression "local_1018[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");" (assignment_expression "lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language")" identifier = (call_expression "AcquireMagickInfo("PANGO","PANGO","Pango Markup Language")" identifier (argument_list "("PANGO","PANGO","Pango Markup Language")" ( (string_literal ""PANGO"" " string_content ") , (string_literal ""PANGO"" " string_content ") , (string_literal ""Pango Markup Language"" " string_content ") )))) ;) (if_statement "if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }" if (parenthesized_expression "(local_1018[0] != '\0')" ( (binary_expression "local_1018[0] != '\0'" (subscript_expression "local_1018[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }" { (expression_statement "uVar2 = ConstantString(local_1018);" (assignment_expression "uVar2 = ConstantString(local_1018)" identifier = (call_expression "ConstantString(local_1018)" identifier (argument_list "(local_1018)" ( identifier )))) ;) (expression_statement "*(undefined8 *)(lVar1 + 0x10) = uVar2;" (assignment_expression "*(undefined8 *)(lVar1 + 0x10) = uVar2" (pointer_expression "*(undefined8 *)(lVar1 + 0x10)" * (cast_expression "(undefined8 *)(lVar1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x10)" ( (binary_expression "lVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "*(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;" (assignment_expression "*(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5" (pointer_expression "*(uint *)(lVar1 + 0x54)" * (cast_expression "(uint *)(lVar1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x54)" ( (binary_expression "lVar1 + 0x54" identifier + number_literal) )))) = (binary_expression "*(uint *)(lVar1 + 0x54) ^ 5" (pointer_expression "*(uint *)(lVar1 + 0x54)" * (cast_expression "(uint *)(lVar1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x54)" ( (binary_expression "lVar1 + 0x54" identifier + number_literal) )))) ^ number_literal)) ;) (expression_statement "RegisterMagickInfo(lVar1);" (call_expression "RegisterMagickInfo(lVar1)" identifier (argument_list "(lVar1)" ( identifier ))) ;) (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }" if (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return 0x810;\n  }" { (return_statement "return 0x810;" return number_literal ;) })) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n/* 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\nsize_t RegisterPANGOImage(void)\n\n{\n  long lVar1;\n  MagickInfo *magick_info;\n  char *pcVar2;\n  long in_FS_OFFSET;\n  char version [4096];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  version[0] = '\0';\n  magick_info = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (version[0] != '\0') {\n    pcVar2 = ConstantString(version);\n    magick_info->version = pcVar2;\n  }\n  magick_info->flags = magick_info->flags ^ 5;\n  RegisterMagickInfo(magick_info);\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}\n\n" comment comment comment comment comment comment (function_definition "size_t RegisterPANGOImage(void)\n\n{\n  long lVar1;\n  MagickInfo *magick_info;\n  char *pcVar2;\n  long in_FS_OFFSET;\n  char version [4096];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  version[0] = '\0';\n  magick_info = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (version[0] != '\0') {\n    pcVar2 = ConstantString(version);\n    magick_info->version = pcVar2;\n  }\n  magick_info->flags = magick_info->flags ^ 5;\n  RegisterMagickInfo(magick_info);\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" primitive_type (function_declarator "RegisterPANGOImage(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  MagickInfo *magick_info;\n  char *pcVar2;\n  long in_FS_OFFSET;\n  char version [4096];\n  \n  lVar1 = *(long *)(in_FS_OFFSET + 0x28);\n  version[0] = '\0';\n  magick_info = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (version[0] != '\0') {\n    pcVar2 = ConstantString(version);\n    magick_info->version = pcVar2;\n  }\n  magick_info->flags = magick_info->flags ^ 5;\n  RegisterMagickInfo(magick_info);\n  if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail();\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "MagickInfo *magick_info;" type_identifier (pointer_declarator "*magick_info" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "char version [4096];" primitive_type (array_declarator "version [4096]" identifier [ number_literal ]) ;) (expression_statement "lVar1 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "lVar1 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "version[0] = '\0';" (assignment_expression "version[0] = '\0'" (subscript_expression "version[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "magick_info = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");" (assignment_expression "magick_info = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language")" identifier = (call_expression "AcquireMagickInfo("PANGO","PANGO","Pango Markup Language")" identifier (argument_list "("PANGO","PANGO","Pango Markup Language")" ( (string_literal ""PANGO"" " string_content ") , (string_literal ""PANGO"" " string_content ") , (string_literal ""Pango Markup Language"" " string_content ") )))) ;) (if_statement "if (version[0] != '\0') {\n    pcVar2 = ConstantString(version);\n    magick_info->version = pcVar2;\n  }" if (parenthesized_expression "(version[0] != '\0')" ( (binary_expression "version[0] != '\0'" (subscript_expression "version[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar2 = ConstantString(version);\n    magick_info->version = pcVar2;\n  }" { (expression_statement "pcVar2 = ConstantString(version);" (assignment_expression "pcVar2 = ConstantString(version)" identifier = (call_expression "ConstantString(version)" identifier (argument_list "(version)" ( identifier )))) ;) (expression_statement "magick_info->version = pcVar2;" (assignment_expression "magick_info->version = pcVar2" (field_expression "magick_info->version" identifier -> field_identifier) = identifier) ;) })) (expression_statement "magick_info->flags = magick_info->flags ^ 5;" (assignment_expression "magick_info->flags = magick_info->flags ^ 5" (field_expression "magick_info->flags" identifier -> field_identifier) = (binary_expression "magick_info->flags ^ 5" (field_expression "magick_info->flags" identifier -> field_identifier) ^ number_literal)) ;) (expression_statement "RegisterMagickInfo(magick_info);" (call_expression "RegisterMagickInfo(magick_info)" identifier (argument_list "(magick_info)" ( identifier ))) ;) (if_statement "if (lVar1 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }" if (parenthesized_expression "(lVar1 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "lVar1 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return 0x810;\n  }" { (return_statement "return 0x810;" return number_literal ;) })) comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined8 RegisterPANGOImage(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  char local_1018 [4104];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  local_1018[0] = '\0';\n  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }\n  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;\n  RegisterMagickInfo(lVar1);\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    \n  __stack_chk_fail();\n}\n\n" (function_definition "undefined8 RegisterPANGOImage(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  char local_1018 [4104];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  local_1018[0] = '\0';\n  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }\n  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;\n  RegisterMagickInfo(lVar1);\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    \n  __stack_chk_fail();\n}" type_identifier (function_declarator "RegisterPANGOImage(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  char local_1018 [4104];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  local_1018[0] = '\0';\n  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }\n  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;\n  RegisterMagickInfo(lVar1);\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    \n  __stack_chk_fail();\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "char local_1018 [4104];" primitive_type (array_declarator "local_1018 [4104]" identifier [ number_literal ]) ;) (declaration "long local_10;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (expression_statement "local_1018[0] = '\0';" (assignment_expression "local_1018[0] = '\0'" (subscript_expression "local_1018[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");" (assignment_expression "lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language")" identifier = (call_expression "AcquireMagickInfo("PANGO","PANGO","Pango Markup Language")" identifier (argument_list "("PANGO","PANGO","Pango Markup Language")" ( (string_literal ""PANGO"" " string_content ") , (string_literal ""PANGO"" " string_content ") , (string_literal ""Pango Markup Language"" " string_content ") )))) ;) (if_statement "if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }" if (parenthesized_expression "(local_1018[0] != '\0')" ( (binary_expression "local_1018[0] != '\0'" (subscript_expression "local_1018[0]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }" { (expression_statement "uVar2 = ConstantString(local_1018);" (assignment_expression "uVar2 = ConstantString(local_1018)" identifier = (call_expression "ConstantString(local_1018)" identifier (argument_list "(local_1018)" ( identifier )))) ;) (expression_statement "*(undefined8 *)(lVar1 + 0x10) = uVar2;" (assignment_expression "*(undefined8 *)(lVar1 + 0x10) = uVar2" (pointer_expression "*(undefined8 *)(lVar1 + 0x10)" * (cast_expression "(undefined8 *)(lVar1 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x10)" ( (binary_expression "lVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "*(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;" (assignment_expression "*(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5" (pointer_expression "*(uint *)(lVar1 + 0x54)" * (cast_expression "(uint *)(lVar1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x54)" ( (binary_expression "lVar1 + 0x54" identifier + number_literal) )))) = (binary_expression "*(uint *)(lVar1 + 0x54) ^ 5" (pointer_expression "*(uint *)(lVar1 + 0x54)" * (cast_expression "(uint *)(lVar1 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x54)" ( (binary_expression "lVar1 + 0x54" identifier + number_literal) )))) ^ number_literal)) ;) (expression_statement "RegisterMagickInfo(lVar1);" (call_expression "RegisterMagickInfo(lVar1)" identifier (argument_list "(lVar1)" ( identifier ))) ;) (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }" if (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" identifier == (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n    return 0x810;\n  }" { (return_statement "return 0x810;" return number_literal ;) })) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ^ LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "undefined8 RegisterPANGOImage(void)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  char local_1018 [4104];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  local_1018[0] = '\0';\n  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }\n  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;\n  RegisterMagickInfo(lVar1);\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    \n  __stack_chk_fail();\n}" (type_identifier "undefined8") (function_declarator "RegisterPANGOImage(void)" (identifier "RegisterPANGOImage") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  long in_FS_OFFSET;\n  char local_1018 [4104];\n  long local_10;\n  \n  local_10 = *(long *)(in_FS_OFFSET + 0x28);\n  local_1018[0] = '\0';\n  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");\n  if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }\n  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;\n  RegisterMagickInfo(lVar1);\n  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }\n                    \n  __stack_chk_fail();\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "char local_1018 [4104];" (primitive_type "char") (array_declarator "local_1018 [4104]" (identifier "local_1018") ([ "[") (number_literal "4104") (] "]")) (; ";")) (declaration "long local_10;" (sized_type_specifier "long" (long "long")) (identifier "local_10") (; ";")) (expression_statement "local_10 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_10 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_10") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "local_1018[0] = '\0';" (assignment_expression "local_1018[0] = '\0'" (subscript_expression "local_1018[0]" (identifier "local_1018") ([ "[") (number_literal "0") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");" (assignment_expression "lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language")" (identifier "lVar1") (= "=") (call_expression "AcquireMagickInfo("PANGO","PANGO","Pango Markup Language")" (identifier "AcquireMagickInfo") (argument_list "("PANGO","PANGO","Pango Markup Language")" (( "(") (string_literal ""PANGO"" (" """) (string_content "PANGO") (" """)) (, ",") (string_literal ""PANGO"" (" """) (string_content "PANGO") (" """)) (, ",") (string_literal ""Pango Markup Language"" (" """) (string_content "Pango Markup Language") (" """)) () ")")))) (; ";")) (if_statement "if (local_1018[0] != '\0') {\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }" (if "if") (parenthesized_expression "(local_1018[0] != '\0')" (( "(") (binary_expression "local_1018[0] != '\0'" (subscript_expression "local_1018[0]" (identifier "local_1018") ([ "[") (number_literal "0") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    uVar2 = ConstantString(local_1018);\n    *(undefined8 *)(lVar1 + 0x10) = uVar2;\n  }" ({ "{") (expression_statement "uVar2 = ConstantString(local_1018);" (assignment_expression "uVar2 = ConstantString(local_1018)" (identifier "uVar2") (= "=") (call_expression "ConstantString(local_1018)" (identifier "ConstantString") (argument_list "(local_1018)" (( "(") (identifier "local_1018") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(lVar1 + 0x10) = uVar2;" (assignment_expression "*(undefined8 *)(lVar1 + 0x10) = uVar2" (pointer_expression "*(undefined8 *)(lVar1 + 0x10)" (* "*") (cast_expression "(undefined8 *)(lVar1 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x10)" (( "(") (binary_expression "lVar1 + 0x10" (identifier "lVar1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (expression_statement "*(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;" (assignment_expression "*(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5" (pointer_expression "*(uint *)(lVar1 + 0x54)" (* "*") (cast_expression "(uint *)(lVar1 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x54)" (( "(") (binary_expression "lVar1 + 0x54" (identifier "lVar1") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (binary_expression "*(uint *)(lVar1 + 0x54) ^ 5" (pointer_expression "*(uint *)(lVar1 + 0x54)" (* "*") (cast_expression "(uint *)(lVar1 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x54)" (( "(") (binary_expression "lVar1 + 0x54" (identifier "lVar1") (+ "+") (number_literal "0x54")) () ")")))) (^ "^") (number_literal "5"))) (; ";")) (expression_statement "RegisterMagickInfo(lVar1);" (call_expression "RegisterMagickInfo(lVar1)" (identifier "RegisterMagickInfo") (argument_list "(lVar1)" (( "(") (identifier "lVar1") () ")"))) (; ";")) (if_statement "if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {\n    return 0x810;\n  }" (if "if") (parenthesized_expression "(local_10 == *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_10 == *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_10") (== "==") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n    return 0x810;\n  }" ({ "{") (return_statement "return 0x810;" (return "return") (number_literal "0x810") (; ";")) (} "}"))) (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Unknown calling convention */
/* 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 */

size_t function_1(void)

{
  long var_5;
  type_1 *magick_info;
  char *pcVar2;
  long var_1;
  char version [4096];
  
  var_5 = *(long *)(var_1 + 0x28);
  version[0] = '\0';
  magick_info = var_2("PANGO","PANGO","Pango Markup Language");
  if (version[0] != '\0') {
    pcVar2 = var_3(version);
    magick_info->version = pcVar2;
  }
  magick_info->flags = magick_info->flags ^ 5;
  var_4(magick_info);
  if (var_5 == *(long *)(var_1 + 0x28)) {
    return 0x810;
  }
                    /* WARNING: Subroutine does not return */
  var_6();
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (sized_type_specifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (string_literal (string_content)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

undefined8 MASKED(void)

{
  long lVar1;
  undefined8 uVar2;
  long in_FS_OFFSET;
  char local_1018 [4104];
  long local_10;
  
  local_10 = *(long *)(in_FS_OFFSET + 0x28);
  local_1018[0] = '\0';
  lVar1 = AcquireMagickInfo("PANGO","PANGO","Pango Markup Language");
  if (local_1018[0] != '\0') {
    uVar2 = ConstantString(local_1018);
    *(undefined8 *)(lVar1 + 0x10) = uVar2;
  }
  *(uint *)(lVar1 + 0x54) = *(uint *)(lVar1 + 0x54) ^ 5;
  RegisterMagickInfo(lVar1);
  if (local_10 == *(long *)(in_FS_OFFSET + 0x28)) {
    return 0x810;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail();
}

