
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

void ClearMagickException(ExceptionInfo *exception)

{
  int *piVar1;
  
  if (exception == (ExceptionInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,
                  "ClearMagickException");
  }
  if (exception->signature == 0xabacadab) {
    if (exception->exceptions != (void *)0x0) {
      LockSemaphoreInfo(exception->semaphore);
      ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement);
      exception->severity = UndefinedException;
      exception->reason = (char *)0x0;
      exception->description = (char *)0x0;
      UnlockSemaphoreInfo(exception->semaphore);
      piVar1 = __errno_location();
      *piVar1 = 0;
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,
                "ClearMagickException");
}



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

void ClearMagickException(undefined4 *param_1)

{
  int *piVar1;
  
  if (param_1 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,
                  "ClearMagickException");
  }
  if (param_1[7] == -0x54535255) {
    if (param_1[4] != 0) {
      LockSemaphoreInfo(param_1[6]);
      ClearLinkedList(param_1[4],FUN_000ccf50);
      *param_1 = 0;
      param_1[2] = 0;
      param_1[3] = 0;
      UnlockSemaphoreInfo(param_1[6]);
      piVar1 = __errno_location();
      *piVar1 = 0;
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,
                "ClearMagickException");
}


PUSH ESI
PUSH EBX
CALL 0x00039d70
ADD EBX,0x350e49
SUB ESP,0x4
MOV ESI,dword ptr [ESP + 0x10]
TEST ESI,ESI
JZ 0x000cd225
CMP dword ptr [ESI + 0x1c],0xabacadab
JNZ 0x000cd244
MOV EAX,dword ptr [ESI + 0x10]
TEST EAX,EAX
JZ 0x000cd21f
SUB ESP,0xc
PUSH dword ptr [ESI + 0x18]
CALL 0x00031050
POP EAX
LEA EAX,[EBX + 0xffcaef50]
POP EDX
PUSH EAX
PUSH dword ptr [ESI + 0x10]
CALL 0x000309c0
MOV dword ptr [ESI],0x0
MOV dword ptr [ESI + 0x8],0x0
MOV dword ptr [ESI + 0xc],0x0
POP ECX
PUSH dword ptr [ESI + 0x18]
CALL 0x00031da0
CALL 0x000305f0
ADD ESP,0x10
MOV dword ptr [EAX],0x0
ADD ESP,0x4
POP EBX
POP ESI
RET
LEA EAX,[EBX + 0xffed6024]
PUSH EAX
LEA EAX,[EBX + 0xffed52b0]
PUSH 0xa6
PUSH EAX
LEA EAX,[EBX + 0xffec1be4]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffed6024]
PUSH EAX
LEA EAX,[EBX + 0xffed52b0]
PUSH 0xa7
PUSH EAX
LEA EAX,[EBX + 0xffec29d4]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid ClearMagickException(undefined4 *param_1)\n\n{\n  int *piVar1;\n  \n  if (param_1 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}\n\n" comment (function_definition "void ClearMagickException(undefined4 *param_1)\n\n{\n  int *piVar1;\n  \n  if (param_1 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}" primitive_type (function_declarator "ClearMagickException(undefined4 *param_1)" identifier (parameter_list "(undefined4 *param_1)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  \n  if (param_1 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (if_statement "if (param_1 == (undefined4 *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }" if (parenthesized_expression "(param_1 == (undefined4 *)0x0)" ( (binary_expression "param_1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/exception.c"" " string_content ") , number_literal , (string_literal ""ClearMagickException"" " string_content ") ))) ;) })) (if_statement "if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }" if (parenthesized_expression "(param_1[7] == -0x54535255)" ( (binary_expression "param_1[7] == -0x54535255" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }" { (if_statement "if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }" { (expression_statement "LockSemaphoreInfo(param_1[6]);" (call_expression "LockSemaphoreInfo(param_1[6])" identifier (argument_list "(param_1[6])" ( (subscript_expression "param_1[6]" identifier [ number_literal ]) ))) ;) (expression_statement "ClearLinkedList(param_1[4],FUN_000ccf50);" (call_expression "ClearLinkedList(param_1[4],FUN_000ccf50)" identifier (argument_list "(param_1[4],FUN_000ccf50)" ( (subscript_expression "param_1[4]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "UnlockSemaphoreInfo(param_1[6]);" (call_expression "UnlockSemaphoreInfo(param_1[6])" identifier (argument_list "(param_1[6])" ( (subscript_expression "param_1[6]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar1 = __errno_location();" (assignment_expression "piVar1 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" * identifier) = number_literal) ;) })) (return_statement "return;" return ;) })) comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException")" identifier (argument_list "("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/exception.c"" " string_content ") , number_literal , (string_literal ""ClearMagickException"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n\nvoid ClearMagickException(ExceptionInfo *exception)\n\n{\n  int *piVar1;\n  \n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (exception->signature == 0xabacadab) {\n    if (exception->exceptions != (void *)0x0) {\n      LockSemaphoreInfo(exception->semaphore);\n      ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement);\n      exception->severity = UndefinedException;\n      exception->reason = (char *)0x0;\n      exception->description = (char *)0x0;\n      UnlockSemaphoreInfo(exception->semaphore);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}\n\n" comment comment comment (function_definition "void ClearMagickException(ExceptionInfo *exception)\n\n{\n  int *piVar1;\n  \n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (exception->signature == 0xabacadab) {\n    if (exception->exceptions != (void *)0x0) {\n      LockSemaphoreInfo(exception->semaphore);\n      ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement);\n      exception->severity = UndefinedException;\n      exception->reason = (char *)0x0;\n      exception->description = (char *)0x0;\n      UnlockSemaphoreInfo(exception->semaphore);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}" primitive_type (function_declarator "ClearMagickException(ExceptionInfo *exception)" identifier (parameter_list "(ExceptionInfo *exception)" ( (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  \n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (exception->signature == 0xabacadab) {\n    if (exception->exceptions != (void *)0x0) {\n      LockSemaphoreInfo(exception->semaphore);\n      ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement);\n      exception->severity = UndefinedException;\n      exception->reason = (char *)0x0;\n      exception->description = (char *)0x0;\n      UnlockSemaphoreInfo(exception->semaphore);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (if_statement "if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }" if (parenthesized_expression "(exception == (ExceptionInfo *)0x0)" ( (binary_expression "exception == (ExceptionInfo *)0x0" identifier == (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/exception.c"" " string_content ") , number_literal , (string_literal ""ClearMagickException"" " string_content ") ))) ;) })) (if_statement "if (exception->signature == 0xabacadab) {\n    if (exception->exceptions != (void *)0x0) {\n      LockSemaphoreInfo(exception->semaphore);\n      ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement);\n      exception->severity = UndefinedException;\n      exception->reason = (char *)0x0;\n      exception->description = (char *)0x0;\n      UnlockSemaphoreInfo(exception->semaphore);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }" if (parenthesized_expression "(exception->signature == 0xabacadab)" ( (binary_expression "exception->signature == 0xabacadab" (field_expression "exception->signature" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    if (exception->exceptions != (void *)0x0) {\n      LockSemaphoreInfo(exception->semaphore);\n      ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement);\n      exception->severity = UndefinedException;\n      exception->reason = (char *)0x0;\n      exception->description = (char *)0x0;\n      UnlockSemaphoreInfo(exception->semaphore);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }" { (if_statement "if (exception->exceptions != (void *)0x0) {\n      LockSemaphoreInfo(exception->semaphore);\n      ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement);\n      exception->severity = UndefinedException;\n      exception->reason = (char *)0x0;\n      exception->description = (char *)0x0;\n      UnlockSemaphoreInfo(exception->semaphore);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }" if (parenthesized_expression "(exception->exceptions != (void *)0x0)" ( (binary_expression "exception->exceptions != (void *)0x0" (field_expression "exception->exceptions" identifier -> field_identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      LockSemaphoreInfo(exception->semaphore);\n      ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement);\n      exception->severity = UndefinedException;\n      exception->reason = (char *)0x0;\n      exception->description = (char *)0x0;\n      UnlockSemaphoreInfo(exception->semaphore);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }" { (expression_statement "LockSemaphoreInfo(exception->semaphore);" (call_expression "LockSemaphoreInfo(exception->semaphore)" identifier (argument_list "(exception->semaphore)" ( (field_expression "exception->semaphore" identifier -> field_identifier) ))) ;) (expression_statement "ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement);" (call_expression "ClearLinkedList((LinkedListInfo *)exception->exceptions,DestroyExceptionElement)" identifier (argument_list "((LinkedListInfo *)exception->exceptions,DestroyExceptionElement)" ( (cast_expression "(LinkedListInfo *)exception->exceptions" ( (type_descriptor "LinkedListInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "exception->exceptions" identifier -> field_identifier)) , identifier ))) ;) (expression_statement "exception->severity = UndefinedException;" (assignment_expression "exception->severity = UndefinedException" (field_expression "exception->severity" identifier -> field_identifier) = identifier) ;) (expression_statement "exception->reason = (char *)0x0;" (assignment_expression "exception->reason = (char *)0x0" (field_expression "exception->reason" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "exception->description = (char *)0x0;" (assignment_expression "exception->description = (char *)0x0" (field_expression "exception->description" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "UnlockSemaphoreInfo(exception->semaphore);" (call_expression "UnlockSemaphoreInfo(exception->semaphore)" identifier (argument_list "(exception->semaphore)" ( (field_expression "exception->semaphore" identifier -> field_identifier) ))) ;) (expression_statement "piVar1 = __errno_location();" (assignment_expression "piVar1 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" * identifier) = number_literal) ;) })) (return_statement "return;" return ;) })) comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException")" identifier (argument_list "("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/exception.c"" " string_content ") , number_literal , (string_literal ""ClearMagickException"" " string_content ") ))) ;) })))
(translation_unit "void ClearMagickException(undefined4 *param_1)\n\n{\n  int *piVar1;\n  \n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    \n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}\n\n" (function_definition "void ClearMagickException(undefined4 *param_1)\n\n{\n  int *piVar1;\n  \n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    \n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}" primitive_type (function_declarator "ClearMagickException(undefined4 *param_1)" identifier (parameter_list "(undefined4 *param_1)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  \n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    \n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (if_statement "if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }" if (parenthesized_expression "(param_1 == (undefined4 *)0x0)" ( (binary_expression "param_1 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }" { (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/exception.c"" " string_content ") , number_literal , (string_literal ""ClearMagickException"" " string_content ") ))) ;) })) (if_statement "if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }" if (parenthesized_expression "(param_1[7] == -0x54535255)" ( (binary_expression "param_1[7] == -0x54535255" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }" { (if_statement "if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }" if (parenthesized_expression "(param_1[4] != 0)" ( (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }" { (expression_statement "LockSemaphoreInfo(param_1[6]);" (call_expression "LockSemaphoreInfo(param_1[6])" identifier (argument_list "(param_1[6])" ( (subscript_expression "param_1[6]" identifier [ number_literal ]) ))) ;) (expression_statement "ClearLinkedList(param_1[4],FUN_000ccf50);" (call_expression "ClearLinkedList(param_1[4],FUN_000ccf50)" identifier (argument_list "(param_1[4],FUN_000ccf50)" ( (subscript_expression "param_1[4]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "UnlockSemaphoreInfo(param_1[6]);" (call_expression "UnlockSemaphoreInfo(param_1[6])" identifier (argument_list "(param_1[6])" ( (subscript_expression "param_1[6]" identifier [ number_literal ]) ))) ;) (expression_statement "piVar1 = __errno_location();" (assignment_expression "piVar1 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" * identifier) = number_literal) ;) })) (return_statement "return;" return ;) })) (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException")" identifier (argument_list "("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/exception.c"" " string_content ") , number_literal , (string_literal ""ClearMagickException"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "void ClearMagickException(undefined4 *param_1)\n\n{\n  int *piVar1;\n  \n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    \n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}" (primitive_type "void") (function_declarator "ClearMagickException(undefined4 *param_1)" (identifier "ClearMagickException") (parameter_list "(undefined4 *param_1)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  int *piVar1;\n  \n  if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }\n  if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }\n                    \n  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (if_statement "if (param_1 == (undefined4 *)0x0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }" (if "if") (parenthesized_expression "(param_1 == (undefined4 *)0x0)" (( "(") (binary_expression "param_1 == (undefined4 *)0x0" (identifier "param_1") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");\n  }" ({ "{") (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException")" (identifier "__assert_fail") (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,\n                  "ClearMagickException")" (( "(") (string_literal ""exception != (ExceptionInfo *) NULL"" (" """) (string_content "exception != (ExceptionInfo *) NULL") (" """)) (, ",") (string_literal ""MagickCore/exception.c"" (" """) (string_content "MagickCore/exception.c") (" """)) (, ",") (number_literal "0xa6") (, ",") (string_literal ""ClearMagickException"" (" """) (string_content "ClearMagickException") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[7] == -0x54535255) {\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(param_1[7] == -0x54535255)" (( "(") (binary_expression "param_1[7] == -0x54535255" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n    if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }\n    return;\n  }" ({ "{") (if_statement "if (param_1[4] != 0) {\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }" (if "if") (parenthesized_expression "(param_1[4] != 0)" (( "(") (binary_expression "param_1[4] != 0" (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      LockSemaphoreInfo(param_1[6]);\n      ClearLinkedList(param_1[4],FUN_000ccf50);\n      *param_1 = 0;\n      param_1[2] = 0;\n      param_1[3] = 0;\n      UnlockSemaphoreInfo(param_1[6]);\n      piVar1 = __errno_location();\n      *piVar1 = 0;\n    }" ({ "{") (expression_statement "LockSemaphoreInfo(param_1[6]);" (call_expression "LockSemaphoreInfo(param_1[6])" (identifier "LockSemaphoreInfo") (argument_list "(param_1[6])" (( "(") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) () ")"))) (; ";")) (expression_statement "ClearLinkedList(param_1[4],FUN_000ccf50);" (call_expression "ClearLinkedList(param_1[4],FUN_000ccf50)" (identifier "ClearLinkedList") (argument_list "(param_1[4],FUN_000ccf50)" (( "(") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]")) (, ",") (identifier "FUN_000ccf50") () ")"))) (; ";")) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[3] = 0;" (assignment_expression "param_1[3] = 0" (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "UnlockSemaphoreInfo(param_1[6]);" (call_expression "UnlockSemaphoreInfo(param_1[6])" (identifier "UnlockSemaphoreInfo") (argument_list "(param_1[6])" (( "(") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) () ")"))) (; ";")) (expression_statement "piVar1 = __errno_location();" (assignment_expression "piVar1 = __errno_location()" (identifier "piVar1") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar1 = 0;" (assignment_expression "*piVar1 = 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException")" (identifier "__assert_fail") (argument_list "("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,\n                "ClearMagickException")" (( "(") (string_literal ""exception->signature == MagickCoreSignature"" (" """) (string_content "exception->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/exception.c"" (" """) (string_content "MagickCore/exception.c") (" """)) (, ",") (number_literal "0xa7") (, ",") (string_literal ""ClearMagickException"" (" """) (string_content "ClearMagickException") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */

void function_1(type_1 *var_1)

{
  int *piVar1;
  
  if (var_1 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_2("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,
                  "ClearMagickException");
  }
  if (var_1->signature == 0xabacadab) {
    if (var_1->exceptions != (void *)0x0) {
      var_3(var_1->semaphore);
      var_4((type_2 *)var_1->exceptions,DestroyExceptionElement);
      var_1->severity = UndefinedException;
      var_1->reason = (char *)0x0;
      var_1->description = (char *)0x0;
      var_5(var_1->semaphore);
      piVar1 = var_6();
      *piVar1 = 0;
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_2("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,
                "ClearMagickException");
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))

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

void MASKED(undefined4 *param_1)

{
  int *piVar1;
  
  if (param_1 == (undefined4 *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/exception.c",0xa6,
                  "MASKED");
  }
  if (param_1[7] == -0x54535255) {
    if (param_1[4] != 0) {
      LockSemaphoreInfo(param_1[6]);
      ClearLinkedList(param_1[4],FUN_000ccf50);
      *param_1 = 0;
      param_1[2] = 0;
      param_1[3] = 0;
      UnlockSemaphoreInfo(param_1[6]);
      piVar1 = __errno_location();
      *piVar1 = 0;
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  __assert_fail("exception->signature == MagickCoreSignature","MagickCore/exception.c",0xa7,
                "MASKED");
}

