
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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 */

Image * GetLastImageInList(Image *images)

{
  Image *pIVar1;
  
  if (images != (Image *)0x0) {
    pIVar1 = images;
    if (images->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,
                    "GetLastImageInList");
    }
    do {
      images = pIVar1;
      pIVar1 = images->next;
    } while (images->next != (_Image *)0x0);
  }
  return images;
}



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

void GetLastImageInList(int param_1)

{
  if (param_1 != 0) {
    if (*(int *)(param_1 + 0x3344) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,
                    "GetLastImageInList");
    }
    do {
      param_1 = *(int *)(param_1 + 0x3340);
    } while (param_1 != 0);
  }
  return;
}


PUSH EBX
CALL 0x00038830
ADD EBX,0x2e9e9a
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
JZ 0x000ef194
CMP dword ptr [EAX + 0x3344],0xabacadab
JZ 0x000ef18a
JMP 0x000ef199
MOV EAX,EDX
MOV EDX,dword ptr [EAX + 0x3340]
TEST EDX,EDX
JNZ 0x000ef188
ADD ESP,0x8
POP EBX
RET
LEA EAX,[EBX + 0xffedf960]
PUSH EAX
LEA EAX,[EBX + 0xffedf5b4]
PUSH 0x2f5
PUSH EAX
LEA EAX,[EBX + 0xffec6b9c]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid GetLastImageInList(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }\n  return;\n}\n\n" comment (function_definition "void GetLastImageInList(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }\n  return;\n}" primitive_type (function_declarator "GetLastImageInList(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }\n  return;\n}" { (if_statement "if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }" { (if_statement "if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3344) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x3344) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x3344)" * (cast_expression "(int *)(param_1 + 0x3344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3344)" ( (binary_expression "param_1 + 0x3344" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }" { comment (expression_statement "__assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");" (call_expression "__assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList")" identifier (argument_list "("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList")" ( (string_literal ""images->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/list.c"" " string_content ") , number_literal , (string_literal ""GetLastImageInList"" " string_content ") ))) ;) })) (do_statement "do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);" do (compound_statement "{\n      param_1 = *(int *)(param_1 + 0x3340);\n    }" { (expression_statement "param_1 = *(int *)(param_1 + 0x3340);" (assignment_expression "param_1 = *(int *)(param_1 + 0x3340)" identifier = (pointer_expression "*(int *)(param_1 + 0x3340)" * (cast_expression "(int *)(param_1 + 0x3340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3340)" ( (binary_expression "param_1 + 0x3340" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* 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\nImage * GetLastImageInList(Image *images)\n\n{\n  Image *pIVar1;\n  \n  if (images != (Image *)0x0) {\n    pIVar1 = images;\n    if (images->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      images = pIVar1;\n      pIVar1 = images->next;\n    } while (images->next != (_Image *)0x0);\n  }\n  return images;\n}\n\n" comment comment comment comment comment comment (function_definition "Image * GetLastImageInList(Image *images)\n\n{\n  Image *pIVar1;\n  \n  if (images != (Image *)0x0) {\n    pIVar1 = images;\n    if (images->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      images = pIVar1;\n      pIVar1 = images->next;\n    } while (images->next != (_Image *)0x0);\n  }\n  return images;\n}" type_identifier (pointer_declarator "* GetLastImageInList(Image *images)" * (function_declarator "GetLastImageInList(Image *images)" identifier (parameter_list "(Image *images)" ( (parameter_declaration "Image *images" type_identifier (pointer_declarator "*images" * identifier)) )))) (compound_statement "{\n  Image *pIVar1;\n  \n  if (images != (Image *)0x0) {\n    pIVar1 = images;\n    if (images->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      images = pIVar1;\n      pIVar1 = images->next;\n    } while (images->next != (_Image *)0x0);\n  }\n  return images;\n}" { (declaration "Image *pIVar1;" type_identifier (pointer_declarator "*pIVar1" * identifier) ;) (if_statement "if (images != (Image *)0x0) {\n    pIVar1 = images;\n    if (images->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      images = pIVar1;\n      pIVar1 = images->next;\n    } while (images->next != (_Image *)0x0);\n  }" if (parenthesized_expression "(images != (Image *)0x0)" ( (binary_expression "images != (Image *)0x0" identifier != (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pIVar1 = images;\n    if (images->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      images = pIVar1;\n      pIVar1 = images->next;\n    } while (images->next != (_Image *)0x0);\n  }" { (expression_statement "pIVar1 = images;" (assignment_expression "pIVar1 = images" identifier = identifier) ;) (if_statement "if (images->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }" if (parenthesized_expression "(images->signature != 0xabacadab)" ( (binary_expression "images->signature != 0xabacadab" (field_expression "images->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }" { comment (expression_statement "__assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");" (call_expression "__assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList")" identifier (argument_list "("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList")" ( (string_literal ""images->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/list.c"" " string_content ") , number_literal , (string_literal ""GetLastImageInList"" " string_content ") ))) ;) })) (do_statement "do {\n      images = pIVar1;\n      pIVar1 = images->next;\n    } while (images->next != (_Image *)0x0);" do (compound_statement "{\n      images = pIVar1;\n      pIVar1 = images->next;\n    }" { (expression_statement "images = pIVar1;" (assignment_expression "images = pIVar1" identifier = identifier) ;) (expression_statement "pIVar1 = images->next;" (assignment_expression "pIVar1 = images->next" identifier = (field_expression "images->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(images->next != (_Image *)0x0)" ( (binary_expression "images->next != (_Image *)0x0" (field_expression "images->next" identifier -> field_identifier) != (cast_expression "(_Image *)0x0" ( (type_descriptor "_Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (return_statement "return images;" return identifier ;) })))
(translation_unit "void GetLastImageInList(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }\n  return;\n}\n\n" (function_definition "void GetLastImageInList(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }\n  return;\n}" primitive_type (function_declarator "GetLastImageInList(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }\n  return;\n}" { (if_statement "if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }" { (if_statement "if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x3344) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x3344) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x3344)" * (cast_expression "(int *)(param_1 + 0x3344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3344)" ( (binary_expression "param_1 + 0x3344" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }" { (expression_statement "__assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");" (call_expression "__assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList")" identifier (argument_list "("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList")" ( (string_literal ""images->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/list.c"" " string_content ") , number_literal , (string_literal ""GetLastImageInList"" " string_content ") ))) ;) })) (do_statement "do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);" do (compound_statement "{\n      param_1 = *(int *)(param_1 + 0x3340);\n    }" { (expression_statement "param_1 = *(int *)(param_1 + 0x3340);" (assignment_expression "param_1 = *(int *)(param_1 + 0x3340)" identifier = (pointer_expression "*(int *)(param_1 + 0x3340)" * (cast_expression "(int *)(param_1 + 0x3340)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3340)" ( (binary_expression "param_1 + 0x3340" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != 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 (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (return_statement return ;) })))
(function_definition "void GetLastImageInList(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "GetLastImageInList(int param_1)" (identifier "GetLastImageInList") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }\n  return;\n}" ({ "{") (if_statement "if (param_1 != 0) {\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }\n    do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);\n  }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3344) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x3344) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x3344)" (* "*") (cast_expression "(int *)(param_1 + 0x3344)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3344)" (( "(") (binary_expression "param_1 + 0x3344" (identifier "param_1") (+ "+") (number_literal "0x3344")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");\n    }" ({ "{") (expression_statement "__assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList");" (call_expression "__assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList")" (identifier "__assert_fail") (argument_list "("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,\n                    "GetLastImageInList")" (( "(") (string_literal ""images->signature == MagickCoreSignature"" (" """) (string_content "images->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/list.c"" (" """) (string_content "MagickCore/list.c") (" """)) (, ",") (number_literal "0x2f5") (, ",") (string_literal ""GetLastImageInList"" (" """) (string_content "GetLastImageInList") (" """)) () ")"))) (; ";")) (} "}"))) (do_statement "do {\n      param_1 = *(int *)(param_1 + 0x3340);\n    } while (param_1 != 0);" (do "do") (compound_statement "{\n      param_1 = *(int *)(param_1 + 0x3340);\n    }" ({ "{") (expression_statement "param_1 = *(int *)(param_1 + 0x3340);" (assignment_expression "param_1 = *(int *)(param_1 + 0x3340)" (identifier "param_1") (= "=") (pointer_expression "*(int *)(param_1 + 0x3340)" (* "*") (cast_expression "(int *)(param_1 + 0x3340)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3340)" (( "(") (binary_expression "param_1 + 0x3340" (identifier "param_1") (+ "+") (number_literal "0x3340")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* 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 */

type_1 * function_1(type_1 *var_1)

{
  type_1 *pIVar1;
  
  if (var_1 != (type_1 *)0x0) {
    pIVar1 = var_1;
    if (var_1->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
      var_2("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,
                    "GetLastImageInList");
    }
    do {
      var_1 = pIVar1;
      pIVar1 = var_1->next;
    } while (var_1->next != (type_2 *)0x0);
  }
  return var_1;
}


(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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) 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 (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (do_statement body: (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)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (return_statement))))

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

void MASKED(int param_1)

{
  if (param_1 != 0) {
    if (*(int *)(param_1 + 0x3344) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("images->signature == MagickCoreSignature","MagickCore/list.c",0x2f5,
                    "MASKED");
    }
    do {
      param_1 = *(int *)(param_1 + 0x3340);
    } while (param_1 != 0);
  }
  return;
}

