
/* 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 */

NexusInfo ** AcquirePixelCacheNexus(size_t number_threads)

{
  NexusInfo **ppNVar1;
  NexusInfo *pNVar2;
  int iVar3;
  ExceptionInfo *exception;
  int *piVar4;
  char *string;
  int iVar5;
  size_t sVar6;
  
  sVar6 = number_threads * 2;
  ppNVar1 = (NexusInfo **)AcquireAlignedMemory(sVar6,4);
  if (ppNVar1 == (NexusInfo **)0x0) {
    exception = AcquireExceptionInfo();
    piVar4 = __errno_location();
    string = GetExceptionMessage(*piVar4);
    sVar6 = 0x10e;
  }
  else {
    pNVar2 = (NexusInfo *)AcquireQuantumMemory(sVar6,0x34);
    *ppNVar1 = pNVar2;
    if (pNVar2 != (NexusInfo *)0x0) {
      memset(pNVar2,0,number_threads * 0x68);
      if (0 < (int)sVar6) {
        iVar3 = 0;
        iVar5 = 0;
        while( true ) {
          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);
          ppNVar1[iVar5] = pNVar2;
          if (iVar5 < (int)number_threads) {
            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);
            ppNVar1[iVar5]->signature = 0xabacadab;
          }
          else {
            pNVar2->signature = 0xabacadab;
          }
          if (iVar5 + 1U == sVar6) break;
          iVar5 = iVar5 + 1;
          iVar3 = iVar3 + 0x34;
          pNVar2 = *ppNVar1;
        }
      }
      return ppNVar1;
    }
    exception = AcquireExceptionInfo();
    piVar4 = __errno_location();
    string = GetExceptionMessage(*piVar4);
    sVar6 = 0x112;
  }
  ThrowMagickException
            (exception,"MagickCore/cache.c","AcquirePixelCacheNexus",sVar6,FatalErrorException,
             "MemoryAllocationFailed","`%s\'",string);
  DestroyString(string);
  CatchException(exception);
  DestroyExceptionInfo(exception);
  MagickCoreTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}



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

int * FUN_00052a20(int param_1)

{
  int iVar1;
  int *piVar2;
  void *__s;
  int iVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  undefined4 uVar8;
  
  iVar1 = param_1 * 2;
  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);
  if (piVar2 == (int *)0x0) {
    uVar4 = AcquireExceptionInfo();
    piVar2 = __errno_location();
    uVar5 = GetExceptionMessage(*piVar2);
    uVar8 = 0x10e;
  }
  else {
    __s = (void *)AcquireQuantumMemory(iVar1,0x34);
    *piVar2 = (int)__s;
    if (__s != (void *)0x0) {
      memset(__s,0,param_1 * 0x68);
      if (0 < iVar1) {
        iVar3 = 0;
        iVar6 = 0;
        while( true ) {
          iVar7 = (int)__s + iVar3;
          piVar2[iVar6] = iVar7;
          if (iVar6 < param_1) {
            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;
            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;
          }
          else {
            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;
          }
          if (iVar6 + 1 == iVar1) break;
          iVar6 = iVar6 + 1;
          iVar3 = iVar3 + 0x34;
          __s = (void *)*piVar2;
        }
      }
      return piVar2;
    }
    uVar4 = AcquireExceptionInfo();
    piVar2 = __errno_location();
    uVar5 = GetExceptionMessage(*piVar2);
    uVar8 = 0x112;
  }
  ThrowMagickException
            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",
             "`%s\'",uVar5);
  DestroyString(uVar5);
  CatchException(uVar4);
  DestroyExceptionInfo(uVar4);
  MagickCoreTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00039d70
ADD EBX,0x3cb5d7
SUB ESP,0x14
MOV EAX,dword ptr [ESP + 0x28]
PUSH 0x4
LEA EDI,[EAX + EAX*0x1]
PUSH EDI
CALL 0x000337b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00052ad8
SUB ESP,0x8
MOV EBP,EAX
PUSH 0x34
PUSH EDI
CALL 0x000317b0
ADD ESP,0x10
MOV ESI,EAX
MOV dword ptr [EBP],EAX
TEST EAX,EAX
JZ 0x00052b4b
IMUL EAX,dword ptr [ESP + 0x20],0x68
SUB ESP,0x4
PUSH EAX
PUSH 0x0
PUSH ESI
CALL 0x000310a0
ADD ESP,0x10
TEST EDI,EDI
JLE 0x00052ace
IMUL ECX,dword ptr [ESP + 0x20],0x34
XOR EAX,EAX
XOR EDX,EDX
JMP 0x00052ab1
LEA EBX,[ECX + EAX*0x1]
ADD EBX,dword ptr [EBP]
ADD EAX,0x34
MOV dword ptr [ESI + 0x30],EBX
MOV EBX,dword ptr [EBP + EDX*0x4]
ADD EDX,0x1
MOV dword ptr [EBX + 0x2c],0xabacadab
CMP EDX,EDI
JZ 0x00052ace
MOV ESI,dword ptr [EBP]
ADD ESI,EAX
CMP EDX,dword ptr [ESP + 0x20]
MOV dword ptr [EBP + EDX*0x4],ESI
JL 0x00052a90
ADD EDX,0x1
MOV dword ptr [ESI + 0x2c],0xabacadab
ADD EAX,0x34
CMP EDX,EDI
JNZ 0x00052aae
ADD ESP,0xc
MOV EAX,EBP
POP EBX
POP ESI
POP EDI
POP EBP
RET
CALL 0x00032f50
MOV ESI,EAX
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
ADD ESP,0x10
PUSH EAX
MOV EDI,EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec156e]
PUSH EAX
PUSH 0x2bc
PUSH 0x10e
LEA EAX,[EBX + 0xffec3380]
PUSH EAX
LEA EAX,[EBX + 0xffec25e7]
PUSH EAX
PUSH ESI
CALL 0x00032e80
ADD ESP,0x14
PUSH EDI
CALL 0x00032950
MOV dword ptr [ESP],ESI
CALL 0x000320b0
MOV dword ptr [ESP],ESI
CALL 0x000335b0
ADD ESP,0x10
CALL 0x000308c0
SUB ESP,0xc
PUSH 0x1
CALL 0x00031270
CALL 0x00032f50
MOV ESI,EAX
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
ADD ESP,0x10
PUSH EAX
MOV EDI,EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec156e]
PUSH EAX
PUSH 0x2bc
PUSH 0x112
JMP 0x00052b0c
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint * FUN_00052a20(int param_1)\n\n{\n  int iVar1;\n  int *piVar2;\n  void *__s;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  \n  iVar1 = param_1 * 2;\n  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);\n  if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);\n  DestroyString(uVar5);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}\n\n" comment (function_definition "int * FUN_00052a20(int param_1)\n\n{\n  int iVar1;\n  int *piVar2;\n  void *__s;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  \n  iVar1 = param_1 * 2;\n  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);\n  if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);\n  DestroyString(uVar5);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" primitive_type (pointer_declarator "* FUN_00052a20(int param_1)" * (function_declarator "FUN_00052a20(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  void *__s;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  \n  iVar1 = param_1 * 2;\n  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);\n  if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);\n  DestroyString(uVar5);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (expression_statement "iVar1 = param_1 * 2;" (assignment_expression "iVar1 = param_1 * 2" identifier = (binary_expression "param_1 * 2" identifier * number_literal)) ;) (expression_statement "piVar2 = (int *)AcquireAlignedMemory(iVar1,4);" (assignment_expression "piVar2 = (int *)AcquireAlignedMemory(iVar1,4)" identifier = (cast_expression "(int *)AcquireAlignedMemory(iVar1,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireAlignedMemory(iVar1,4)" identifier (argument_list "(iVar1,4)" ( identifier , number_literal ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }" { (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = GetExceptionMessage(*piVar2);" (assignment_expression "uVar5 = GetExceptionMessage(*piVar2)" identifier = (call_expression "GetExceptionMessage(*piVar2)" identifier (argument_list "(*piVar2)" ( (pointer_expression "*piVar2" * identifier) )))) ;) (expression_statement "uVar8 = 0x10e;" (assignment_expression "uVar8 = 0x10e" identifier = number_literal) ;) }) (else_clause "else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }" else (compound_statement "{\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }" { (expression_statement "__s = (void *)AcquireQuantumMemory(iVar1,0x34);" (assignment_expression "__s = (void *)AcquireQuantumMemory(iVar1,0x34)" identifier = (cast_expression "(void *)AcquireQuantumMemory(iVar1,0x34)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(iVar1,0x34)" identifier (argument_list "(iVar1,0x34)" ( identifier , number_literal ))))) ;) (expression_statement "*piVar2 = (int)__s;" (assignment_expression "*piVar2 = (int)__s" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }" if (parenthesized_expression "(__s != (void *)0x0)" ( (binary_expression "__s != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }" { (expression_statement "memset(__s,0,param_1 * 0x68);" (call_expression "memset(__s,0,param_1 * 0x68)" identifier (argument_list "(__s,0,param_1 * 0x68)" ( identifier , number_literal , (binary_expression "param_1 * 0x68" identifier * number_literal) ))) ;) (if_statement "if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }" if (parenthesized_expression "(0 < iVar1)" ( (binary_expression "0 < iVar1" number_literal < identifier) )) (compound_statement "{\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }" { (expression_statement "iVar7 = (int)__s + iVar3;" (assignment_expression "iVar7 = (int)__s + iVar3" identifier = (binary_expression "(int)__s + iVar3" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "piVar2[iVar6] = iVar7;" (assignment_expression "piVar2[iVar6] = iVar7" (subscript_expression "piVar2[iVar6]" identifier [ identifier ]) = identifier) ;) (if_statement "if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }" if (parenthesized_expression "(iVar6 < param_1)" ( (binary_expression "iVar6 < param_1" identifier < identifier) )) (compound_statement "{\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }" { (expression_statement "*(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;" (assignment_expression "*(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2" (pointer_expression "*(int *)(iVar7 + 0x30)" * (cast_expression "(int *)(iVar7 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) = (binary_expression "param_1 * 0x34 + iVar3 + *piVar2" (binary_expression "param_1 * 0x34 + iVar3" (binary_expression "param_1 * 0x34" identifier * number_literal) + identifier) + (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "*(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;" (assignment_expression "*(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab" (pointer_expression "*(undefined4 *)(piVar2[iVar6] + 0x2c)" * (cast_expression "(undefined4 *)(piVar2[iVar6] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[iVar6] + 0x2c)" ( (binary_expression "piVar2[iVar6] + 0x2c" (subscript_expression "piVar2[iVar6]" identifier [ identifier ]) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }" else (compound_statement "{\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }" { (expression_statement "*(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;" (assignment_expression "*(undefined4 *)(iVar7 + 0x2c) = 0xabacadab" (pointer_expression "*(undefined4 *)(iVar7 + 0x2c)" * (cast_expression "(undefined4 *)(iVar7 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (iVar6 + 1 == iVar1) break;" if (parenthesized_expression "(iVar6 + 1 == iVar1)" ( (binary_expression "iVar6 + 1 == iVar1" (binary_expression "iVar6 + 1" identifier + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar3 + 0x34;" (assignment_expression "iVar3 = iVar3 + 0x34" identifier = (binary_expression "iVar3 + 0x34" identifier + number_literal)) ;) (expression_statement "__s = (void *)*piVar2;" (assignment_expression "__s = (void *)*piVar2" identifier = (cast_expression "(void *)*piVar2" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) })) })) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = GetExceptionMessage(*piVar2);" (assignment_expression "uVar5 = GetExceptionMessage(*piVar2)" identifier = (call_expression "GetExceptionMessage(*piVar2)" identifier (argument_list "(*piVar2)" ( (pointer_expression "*piVar2" * identifier) )))) ;) (expression_statement "uVar8 = 0x112;" (assignment_expression "uVar8 = 0x112" identifier = number_literal) ;) }))) (expression_statement "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);" (call_expression "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5)" identifier (argument_list "(uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""AcquirePixelCacheNexus"" " string_content ") , identifier , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(uVar5);" (call_expression "DestroyString(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "CatchException(uVar4);" (call_expression "CatchException(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar4);" (call_expression "DestroyExceptionInfo(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "MagickCoreTerminus();" (call_expression "MagickCoreTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(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\nNexusInfo ** AcquirePixelCacheNexus(size_t number_threads)\n\n{\n  NexusInfo **ppNVar1;\n  NexusInfo *pNVar2;\n  int iVar3;\n  ExceptionInfo *exception;\n  int *piVar4;\n  char *string;\n  int iVar5;\n  size_t sVar6;\n  \n  sVar6 = number_threads * 2;\n  ppNVar1 = (NexusInfo **)AcquireAlignedMemory(sVar6,4);\n  if (ppNVar1 == (NexusInfo **)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x10e;\n  }\n  else {\n    pNVar2 = (NexusInfo *)AcquireQuantumMemory(sVar6,0x34);\n    *ppNVar1 = pNVar2;\n    if (pNVar2 != (NexusInfo *)0x0) {\n      memset(pNVar2,0,number_threads * 0x68);\n      if (0 < (int)sVar6) {\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }\n      return ppNVar1;\n    }\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x112;\n  }\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCacheNexus",sVar6,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",string);\n  DestroyString(string);\n  CatchException(exception);\n  DestroyExceptionInfo(exception);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}\n\n" comment comment comment (function_definition "NexusInfo ** AcquirePixelCacheNexus(size_t number_threads)\n\n{\n  NexusInfo **ppNVar1;\n  NexusInfo *pNVar2;\n  int iVar3;\n  ExceptionInfo *exception;\n  int *piVar4;\n  char *string;\n  int iVar5;\n  size_t sVar6;\n  \n  sVar6 = number_threads * 2;\n  ppNVar1 = (NexusInfo **)AcquireAlignedMemory(sVar6,4);\n  if (ppNVar1 == (NexusInfo **)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x10e;\n  }\n  else {\n    pNVar2 = (NexusInfo *)AcquireQuantumMemory(sVar6,0x34);\n    *ppNVar1 = pNVar2;\n    if (pNVar2 != (NexusInfo *)0x0) {\n      memset(pNVar2,0,number_threads * 0x68);\n      if (0 < (int)sVar6) {\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }\n      return ppNVar1;\n    }\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x112;\n  }\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCacheNexus",sVar6,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",string);\n  DestroyString(string);\n  CatchException(exception);\n  DestroyExceptionInfo(exception);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" type_identifier (pointer_declarator "** AcquirePixelCacheNexus(size_t number_threads)" * (pointer_declarator "* AcquirePixelCacheNexus(size_t number_threads)" * (function_declarator "AcquirePixelCacheNexus(size_t number_threads)" identifier (parameter_list "(size_t number_threads)" ( (parameter_declaration "size_t number_threads" primitive_type identifier) ))))) (compound_statement "{\n  NexusInfo **ppNVar1;\n  NexusInfo *pNVar2;\n  int iVar3;\n  ExceptionInfo *exception;\n  int *piVar4;\n  char *string;\n  int iVar5;\n  size_t sVar6;\n  \n  sVar6 = number_threads * 2;\n  ppNVar1 = (NexusInfo **)AcquireAlignedMemory(sVar6,4);\n  if (ppNVar1 == (NexusInfo **)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x10e;\n  }\n  else {\n    pNVar2 = (NexusInfo *)AcquireQuantumMemory(sVar6,0x34);\n    *ppNVar1 = pNVar2;\n    if (pNVar2 != (NexusInfo *)0x0) {\n      memset(pNVar2,0,number_threads * 0x68);\n      if (0 < (int)sVar6) {\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }\n      return ppNVar1;\n    }\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x112;\n  }\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCacheNexus",sVar6,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",string);\n  DestroyString(string);\n  CatchException(exception);\n  DestroyExceptionInfo(exception);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" { (declaration "NexusInfo **ppNVar1;" type_identifier (pointer_declarator "**ppNVar1" * (pointer_declarator "*ppNVar1" * identifier)) ;) (declaration "NexusInfo *pNVar2;" type_identifier (pointer_declarator "*pNVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "ExceptionInfo *exception;" type_identifier (pointer_declarator "*exception" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "char *string;" primitive_type (pointer_declarator "*string" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (expression_statement "sVar6 = number_threads * 2;" (assignment_expression "sVar6 = number_threads * 2" identifier = (binary_expression "number_threads * 2" identifier * number_literal)) ;) (expression_statement "ppNVar1 = (NexusInfo **)AcquireAlignedMemory(sVar6,4);" (assignment_expression "ppNVar1 = (NexusInfo **)AcquireAlignedMemory(sVar6,4)" identifier = (cast_expression "(NexusInfo **)AcquireAlignedMemory(sVar6,4)" ( (type_descriptor "NexusInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "AcquireAlignedMemory(sVar6,4)" identifier (argument_list "(sVar6,4)" ( identifier , number_literal ))))) ;) (if_statement "if (ppNVar1 == (NexusInfo **)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x10e;\n  }\n  else {\n    pNVar2 = (NexusInfo *)AcquireQuantumMemory(sVar6,0x34);\n    *ppNVar1 = pNVar2;\n    if (pNVar2 != (NexusInfo *)0x0) {\n      memset(pNVar2,0,number_threads * 0x68);\n      if (0 < (int)sVar6) {\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }\n      return ppNVar1;\n    }\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x112;\n  }" if (parenthesized_expression "(ppNVar1 == (NexusInfo **)0x0)" ( (binary_expression "ppNVar1 == (NexusInfo **)0x0" identifier == (cast_expression "(NexusInfo **)0x0" ( (type_descriptor "NexusInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x10e;\n  }" { (expression_statement "exception = AcquireExceptionInfo();" (assignment_expression "exception = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar4 = __errno_location();" (assignment_expression "piVar4 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "string = GetExceptionMessage(*piVar4);" (assignment_expression "string = GetExceptionMessage(*piVar4)" identifier = (call_expression "GetExceptionMessage(*piVar4)" identifier (argument_list "(*piVar4)" ( (pointer_expression "*piVar4" * identifier) )))) ;) (expression_statement "sVar6 = 0x10e;" (assignment_expression "sVar6 = 0x10e" identifier = number_literal) ;) }) (else_clause "else {\n    pNVar2 = (NexusInfo *)AcquireQuantumMemory(sVar6,0x34);\n    *ppNVar1 = pNVar2;\n    if (pNVar2 != (NexusInfo *)0x0) {\n      memset(pNVar2,0,number_threads * 0x68);\n      if (0 < (int)sVar6) {\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }\n      return ppNVar1;\n    }\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x112;\n  }" else (compound_statement "{\n    pNVar2 = (NexusInfo *)AcquireQuantumMemory(sVar6,0x34);\n    *ppNVar1 = pNVar2;\n    if (pNVar2 != (NexusInfo *)0x0) {\n      memset(pNVar2,0,number_threads * 0x68);\n      if (0 < (int)sVar6) {\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }\n      return ppNVar1;\n    }\n    exception = AcquireExceptionInfo();\n    piVar4 = __errno_location();\n    string = GetExceptionMessage(*piVar4);\n    sVar6 = 0x112;\n  }" { (expression_statement "pNVar2 = (NexusInfo *)AcquireQuantumMemory(sVar6,0x34);" (assignment_expression "pNVar2 = (NexusInfo *)AcquireQuantumMemory(sVar6,0x34)" identifier = (cast_expression "(NexusInfo *)AcquireQuantumMemory(sVar6,0x34)" ( (type_descriptor "NexusInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(sVar6,0x34)" identifier (argument_list "(sVar6,0x34)" ( identifier , number_literal ))))) ;) (expression_statement "*ppNVar1 = pNVar2;" (assignment_expression "*ppNVar1 = pNVar2" (pointer_expression "*ppNVar1" * identifier) = identifier) ;) (if_statement "if (pNVar2 != (NexusInfo *)0x0) {\n      memset(pNVar2,0,number_threads * 0x68);\n      if (0 < (int)sVar6) {\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }\n      return ppNVar1;\n    }" if (parenthesized_expression "(pNVar2 != (NexusInfo *)0x0)" ( (binary_expression "pNVar2 != (NexusInfo *)0x0" identifier != (cast_expression "(NexusInfo *)0x0" ( (type_descriptor "NexusInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      memset(pNVar2,0,number_threads * 0x68);\n      if (0 < (int)sVar6) {\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }\n      return ppNVar1;\n    }" { (expression_statement "memset(pNVar2,0,number_threads * 0x68);" (call_expression "memset(pNVar2,0,number_threads * 0x68)" identifier (argument_list "(pNVar2,0,number_threads * 0x68)" ( identifier , number_literal , (binary_expression "number_threads * 0x68" identifier * number_literal) ))) ;) (if_statement "if (0 < (int)sVar6) {\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }" if (parenthesized_expression "(0 < (int)sVar6)" ( (binary_expression "0 < (int)sVar6" number_literal < (cast_expression "(int)sVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar3 = 0;\n        iVar5 = 0;\n        while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);\n          ppNVar1[iVar5] = pNVar2;\n          if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }\n          if (iVar5 + 1U == sVar6) break;\n          iVar5 = iVar5 + 1;\n          iVar3 = iVar3 + 0x34;\n          pNVar2 = *ppNVar1;\n        }" { (expression_statement "pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3);" (assignment_expression "pNVar2 = (NexusInfo *)((int)&pNVar2->mapped + iVar3)" identifier = (cast_expression "(NexusInfo *)((int)&pNVar2->mapped + iVar3)" ( (type_descriptor "NexusInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pNVar2->mapped + iVar3)" ( (binary_expression "(int)&pNVar2->mapped + iVar3" (cast_expression "(int)&pNVar2->mapped" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pNVar2->mapped" & (field_expression "pNVar2->mapped" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "ppNVar1[iVar5] = pNVar2;" (assignment_expression "ppNVar1[iVar5] = pNVar2" (subscript_expression "ppNVar1[iVar5]" identifier [ identifier ]) = identifier) ;) (if_statement "if (iVar5 < (int)number_threads) {\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }\n          else {\n            pNVar2->signature = 0xabacadab;\n          }" if (parenthesized_expression "(iVar5 < (int)number_threads)" ( (binary_expression "iVar5 < (int)number_threads" identifier < (cast_expression "(int)number_threads" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);\n            ppNVar1[iVar5]->signature = 0xabacadab;\n          }" { (expression_statement "pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3);" (assignment_expression "pNVar2->virtual_nexus = (_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3)" (field_expression "pNVar2->virtual_nexus" identifier -> field_identifier) = (cast_expression "(_NexusInfo *)((int)&(*ppNVar1)[number_threads].mapped + iVar3)" ( (type_descriptor "_NexusInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(*ppNVar1)[number_threads].mapped + iVar3)" ( (binary_expression "(int)&(*ppNVar1)[number_threads].mapped + iVar3" (cast_expression "(int)&(*ppNVar1)[number_threads].mapped" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(*ppNVar1)[number_threads].mapped" & (field_expression "(*ppNVar1)[number_threads].mapped" (subscript_expression "(*ppNVar1)[number_threads]" (parenthesized_expression "(*ppNVar1)" ( (pointer_expression "*ppNVar1" * identifier) )) [ identifier ]) . field_identifier))) + identifier) )))) ;) (expression_statement "ppNVar1[iVar5]->signature = 0xabacadab;" (assignment_expression "ppNVar1[iVar5]->signature = 0xabacadab" (field_expression "ppNVar1[iVar5]->signature" (subscript_expression "ppNVar1[iVar5]" identifier [ identifier ]) -> field_identifier) = number_literal) ;) }) (else_clause "else {\n            pNVar2->signature = 0xabacadab;\n          }" else (compound_statement "{\n            pNVar2->signature = 0xabacadab;\n          }" { (expression_statement "pNVar2->signature = 0xabacadab;" (assignment_expression "pNVar2->signature = 0xabacadab" (field_expression "pNVar2->signature" identifier -> field_identifier) = number_literal) ;) }))) (if_statement "if (iVar5 + 1U == sVar6) break;" if (parenthesized_expression "(iVar5 + 1U == sVar6)" ( (binary_expression "iVar5 + 1U == sVar6" (binary_expression "iVar5 + 1U" identifier + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar5 = iVar5 + 1;" (assignment_expression "iVar5 = iVar5 + 1" identifier = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar3 + 0x34;" (assignment_expression "iVar3 = iVar3 + 0x34" identifier = (binary_expression "iVar3 + 0x34" identifier + number_literal)) ;) (expression_statement "pNVar2 = *ppNVar1;" (assignment_expression "pNVar2 = *ppNVar1" identifier = (pointer_expression "*ppNVar1" * identifier)) ;) })) })) (return_statement "return ppNVar1;" return identifier ;) })) (expression_statement "exception = AcquireExceptionInfo();" (assignment_expression "exception = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar4 = __errno_location();" (assignment_expression "piVar4 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "string = GetExceptionMessage(*piVar4);" (assignment_expression "string = GetExceptionMessage(*piVar4)" identifier = (call_expression "GetExceptionMessage(*piVar4)" identifier (argument_list "(*piVar4)" ( (pointer_expression "*piVar4" * identifier) )))) ;) (expression_statement "sVar6 = 0x112;" (assignment_expression "sVar6 = 0x112" identifier = number_literal) ;) }))) (expression_statement "ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCacheNexus",sVar6,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",string);" (call_expression "ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCacheNexus",sVar6,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",string)" identifier (argument_list "(exception,"MagickCore/cache.c","AcquirePixelCacheNexus",sVar6,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",string)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""AcquirePixelCacheNexus"" " string_content ") , identifier , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(string);" (call_expression "DestroyString(string)" identifier (argument_list "(string)" ( identifier ))) ;) (expression_statement "CatchException(exception);" (call_expression "CatchException(exception)" identifier (argument_list "(exception)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(exception);" (call_expression "DestroyExceptionInfo(exception)" identifier (argument_list "(exception)" ( identifier ))) ;) (expression_statement "MagickCoreTerminus();" (call_expression "MagickCoreTerminus()" identifier (argument_list "()" ( ))) ;) comment (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit "int * FUN_00052a20(int param_1)\n\n{\n  int iVar1;\n  int *piVar2;\n  void *__s;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  \n  iVar1 = param_1 * 2;\n  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);\n  if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);\n  DestroyString(uVar5);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}\n\n" (function_definition "int * FUN_00052a20(int param_1)\n\n{\n  int iVar1;\n  int *piVar2;\n  void *__s;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  \n  iVar1 = param_1 * 2;\n  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);\n  if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);\n  DestroyString(uVar5);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" primitive_type (pointer_declarator "* FUN_00052a20(int param_1)" * (function_declarator "FUN_00052a20(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) )))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  void *__s;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  \n  iVar1 = param_1 * 2;\n  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);\n  if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);\n  DestroyString(uVar5);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (expression_statement "iVar1 = param_1 * 2;" (assignment_expression "iVar1 = param_1 * 2" identifier = (binary_expression "param_1 * 2" identifier * number_literal)) ;) (expression_statement "piVar2 = (int *)AcquireAlignedMemory(iVar1,4);" (assignment_expression "piVar2 = (int *)AcquireAlignedMemory(iVar1,4)" identifier = (cast_expression "(int *)AcquireAlignedMemory(iVar1,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireAlignedMemory(iVar1,4)" identifier (argument_list "(iVar1,4)" ( identifier , number_literal ))))) ;) (if_statement "if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }" if (parenthesized_expression "(piVar2 == (int *)0x0)" ( (binary_expression "piVar2 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }" { (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = GetExceptionMessage(*piVar2);" (assignment_expression "uVar5 = GetExceptionMessage(*piVar2)" identifier = (call_expression "GetExceptionMessage(*piVar2)" identifier (argument_list "(*piVar2)" ( (pointer_expression "*piVar2" * identifier) )))) ;) (expression_statement "uVar8 = 0x10e;" (assignment_expression "uVar8 = 0x10e" identifier = number_literal) ;) }) (else_clause "else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }" else (compound_statement "{\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }" { (expression_statement "__s = (void *)AcquireQuantumMemory(iVar1,0x34);" (assignment_expression "__s = (void *)AcquireQuantumMemory(iVar1,0x34)" identifier = (cast_expression "(void *)AcquireQuantumMemory(iVar1,0x34)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(iVar1,0x34)" identifier (argument_list "(iVar1,0x34)" ( identifier , number_literal ))))) ;) (expression_statement "*piVar2 = (int)__s;" (assignment_expression "*piVar2 = (int)__s" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }" if (parenthesized_expression "(__s != (void *)0x0)" ( (binary_expression "__s != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }" { (expression_statement "memset(__s,0,param_1 * 0x68);" (call_expression "memset(__s,0,param_1 * 0x68)" identifier (argument_list "(__s,0,param_1 * 0x68)" ( identifier , number_literal , (binary_expression "param_1 * 0x68" identifier * number_literal) ))) ;) (if_statement "if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }" if (parenthesized_expression "(0 < iVar1)" ( (binary_expression "0 < iVar1" number_literal < identifier) )) (compound_statement "{\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }" { (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (while_statement "while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }" { (expression_statement "iVar7 = (int)__s + iVar3;" (assignment_expression "iVar7 = (int)__s + iVar3" identifier = (binary_expression "(int)__s + iVar3" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "piVar2[iVar6] = iVar7;" (assignment_expression "piVar2[iVar6] = iVar7" (subscript_expression "piVar2[iVar6]" identifier [ identifier ]) = identifier) ;) (if_statement "if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }" if (parenthesized_expression "(iVar6 < param_1)" ( (binary_expression "iVar6 < param_1" identifier < identifier) )) (compound_statement "{\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }" { (expression_statement "*(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;" (assignment_expression "*(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2" (pointer_expression "*(int *)(iVar7 + 0x30)" * (cast_expression "(int *)(iVar7 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) = (binary_expression "param_1 * 0x34 + iVar3 + *piVar2" (binary_expression "param_1 * 0x34 + iVar3" (binary_expression "param_1 * 0x34" identifier * number_literal) + identifier) + (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "*(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;" (assignment_expression "*(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab" (pointer_expression "*(undefined4 *)(piVar2[iVar6] + 0x2c)" * (cast_expression "(undefined4 *)(piVar2[iVar6] + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar2[iVar6] + 0x2c)" ( (binary_expression "piVar2[iVar6] + 0x2c" (subscript_expression "piVar2[iVar6]" identifier [ identifier ]) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }" else (compound_statement "{\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }" { (expression_statement "*(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;" (assignment_expression "*(undefined4 *)(iVar7 + 0x2c) = 0xabacadab" (pointer_expression "*(undefined4 *)(iVar7 + 0x2c)" * (cast_expression "(undefined4 *)(iVar7 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2c)" ( (binary_expression "iVar7 + 0x2c" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (iVar6 + 1 == iVar1) break;" if (parenthesized_expression "(iVar6 + 1 == iVar1)" ( (binary_expression "iVar6 + 1 == iVar1" (binary_expression "iVar6 + 1" identifier + number_literal) == identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "iVar3 = iVar3 + 0x34;" (assignment_expression "iVar3 = iVar3 + 0x34" identifier = (binary_expression "iVar3 + 0x34" identifier + number_literal)) ;) (expression_statement "__s = (void *)*piVar2;" (assignment_expression "__s = (void *)*piVar2" identifier = (cast_expression "(void *)*piVar2" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) })) })) (return_statement "return piVar2;" return identifier ;) })) (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar5 = GetExceptionMessage(*piVar2);" (assignment_expression "uVar5 = GetExceptionMessage(*piVar2)" identifier = (call_expression "GetExceptionMessage(*piVar2)" identifier (argument_list "(*piVar2)" ( (pointer_expression "*piVar2" * identifier) )))) ;) (expression_statement "uVar8 = 0x112;" (assignment_expression "uVar8 = 0x112" identifier = number_literal) ;) }))) (expression_statement "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);" (call_expression "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5)" identifier (argument_list "(uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""AcquirePixelCacheNexus"" " string_content ") , identifier , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(uVar5);" (call_expression "DestroyString(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "CatchException(uVar4);" (call_expression "CatchException(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "DestroyExceptionInfo(uVar4);" (call_expression "DestroyExceptionInfo(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (expression_statement "MagickCoreTerminus();" (call_expression "MagickCoreTerminus()" identifier (argument_list "()" ( ))) ;) (expression_statement "_exit(1);" (call_expression "_exit(1)" identifier (argument_list "(1)" ( number_literal ))) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) 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 ( IDENT , LIT , (binary_expression IDENT * LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression IDENT * LIT) + IDENT) + (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) })) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) })))
(function_definition "int * FUN_00052a20(int param_1)\n\n{\n  int iVar1;\n  int *piVar2;\n  void *__s;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  \n  iVar1 = param_1 * 2;\n  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);\n  if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);\n  DestroyString(uVar5);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" (primitive_type "int") (pointer_declarator "* FUN_00052a20(int param_1)" (* "*") (function_declarator "FUN_00052a20(int param_1)" (identifier "FUN_00052a20") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")")))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  void *__s;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  \n  iVar1 = param_1 * 2;\n  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);\n  if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);\n  DestroyString(uVar5);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "void *__s;" (primitive_type "void") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (expression_statement "iVar1 = param_1 * 2;" (assignment_expression "iVar1 = param_1 * 2" (identifier "iVar1") (= "=") (binary_expression "param_1 * 2" (identifier "param_1") (* "*") (number_literal "2"))) (; ";")) (expression_statement "piVar2 = (int *)AcquireAlignedMemory(iVar1,4);" (assignment_expression "piVar2 = (int *)AcquireAlignedMemory(iVar1,4)" (identifier "piVar2") (= "=") (cast_expression "(int *)AcquireAlignedMemory(iVar1,4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireAlignedMemory(iVar1,4)" (identifier "AcquireAlignedMemory") (argument_list "(iVar1,4)" (( "(") (identifier "iVar1") (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if (piVar2 == (int *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }\n  else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }" (if "if") (parenthesized_expression "(piVar2 == (int *)0x0)" (( "(") (binary_expression "piVar2 == (int *)0x0" (identifier "piVar2") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x10e;\n  }" ({ "{") (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" (identifier "uVar4") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" (identifier "piVar2") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar5 = GetExceptionMessage(*piVar2);" (assignment_expression "uVar5 = GetExceptionMessage(*piVar2)" (identifier "uVar5") (= "=") (call_expression "GetExceptionMessage(*piVar2)" (identifier "GetExceptionMessage") (argument_list "(*piVar2)" (( "(") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) () ")")))) (; ";")) (expression_statement "uVar8 = 0x10e;" (assignment_expression "uVar8 = 0x10e" (identifier "uVar8") (= "=") (number_literal "0x10e")) (; ";")) (} "}")) (else_clause "else {\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }" (else "else") (compound_statement "{\n    __s = (void *)AcquireQuantumMemory(iVar1,0x34);\n    *piVar2 = (int)__s;\n    if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar2 = __errno_location();\n    uVar5 = GetExceptionMessage(*piVar2);\n    uVar8 = 0x112;\n  }" ({ "{") (expression_statement "__s = (void *)AcquireQuantumMemory(iVar1,0x34);" (assignment_expression "__s = (void *)AcquireQuantumMemory(iVar1,0x34)" (identifier "__s") (= "=") (cast_expression "(void *)AcquireQuantumMemory(iVar1,0x34)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(iVar1,0x34)" (identifier "AcquireQuantumMemory") (argument_list "(iVar1,0x34)" (( "(") (identifier "iVar1") (, ",") (number_literal "0x34") () ")"))))) (; ";")) (expression_statement "*piVar2 = (int)__s;" (assignment_expression "*piVar2 = (int)__s" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (if_statement "if (__s != (void *)0x0) {\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }" (if "if") (parenthesized_expression "(__s != (void *)0x0)" (( "(") (binary_expression "__s != (void *)0x0" (identifier "__s") (!= "!=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      memset(__s,0,param_1 * 0x68);\n      if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }\n      return piVar2;\n    }" ({ "{") (expression_statement "memset(__s,0,param_1 * 0x68);" (call_expression "memset(__s,0,param_1 * 0x68)" (identifier "memset") (argument_list "(__s,0,param_1 * 0x68)" (( "(") (identifier "__s") (, ",") (number_literal "0") (, ",") (binary_expression "param_1 * 0x68" (identifier "param_1") (* "*") (number_literal "0x68")) () ")"))) (; ";")) (if_statement "if (0 < iVar1) {\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }" (if "if") (parenthesized_expression "(0 < iVar1)" (( "(") (binary_expression "0 < iVar1" (number_literal "0") (< "<") (identifier "iVar1")) () ")")) (compound_statement "{\n        iVar3 = 0;\n        iVar6 = 0;\n        while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }\n      }" ({ "{") (expression_statement "iVar3 = 0;" (assignment_expression "iVar3 = 0" (identifier "iVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (while_statement "while( true ) {\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          iVar7 = (int)__s + iVar3;\n          piVar2[iVar6] = iVar7;\n          if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }\n          if (iVar6 + 1 == iVar1) break;\n          iVar6 = iVar6 + 1;\n          iVar3 = iVar3 + 0x34;\n          __s = (void *)*piVar2;\n        }" ({ "{") (expression_statement "iVar7 = (int)__s + iVar3;" (assignment_expression "iVar7 = (int)__s + iVar3" (identifier "iVar7") (= "=") (binary_expression "(int)__s + iVar3" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "piVar2[iVar6] = iVar7;" (assignment_expression "piVar2[iVar6] = iVar7" (subscript_expression "piVar2[iVar6]" (identifier "piVar2") ([ "[") (identifier "iVar6") (] "]")) (= "=") (identifier "iVar7")) (; ";")) (if_statement "if (iVar6 < param_1) {\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }\n          else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }" (if "if") (parenthesized_expression "(iVar6 < param_1)" (( "(") (binary_expression "iVar6 < param_1" (identifier "iVar6") (< "<") (identifier "param_1")) () ")")) (compound_statement "{\n            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;\n            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;\n          }" ({ "{") (expression_statement "*(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;" (assignment_expression "*(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2" (pointer_expression "*(int *)(iVar7 + 0x30)" (* "*") (cast_expression "(int *)(iVar7 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x30)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (binary_expression "param_1 * 0x34 + iVar3 + *piVar2" (binary_expression "param_1 * 0x34 + iVar3" (binary_expression "param_1 * 0x34" (identifier "param_1") (* "*") (number_literal "0x34")) (+ "+") (identifier "iVar3")) (+ "+") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (expression_statement "*(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;" (assignment_expression "*(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab" (pointer_expression "*(undefined4 *)(piVar2[iVar6] + 0x2c)" (* "*") (cast_expression "(undefined4 *)(piVar2[iVar6] + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar2[iVar6] + 0x2c)" (( "(") (binary_expression "piVar2[iVar6] + 0x2c" (subscript_expression "piVar2[iVar6]" (identifier "piVar2") ([ "[") (identifier "iVar6") (] "]")) (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0xabacadab")) (; ";")) (} "}")) (else_clause "else {\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }" (else "else") (compound_statement "{\n            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;\n          }" ({ "{") (expression_statement "*(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;" (assignment_expression "*(undefined4 *)(iVar7 + 0x2c) = 0xabacadab" (pointer_expression "*(undefined4 *)(iVar7 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x2c)" (( "(") (binary_expression "iVar7 + 0x2c" (identifier "iVar7") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0xabacadab")) (; ";")) (} "}")))) (if_statement "if (iVar6 + 1 == iVar1) break;" (if "if") (parenthesized_expression "(iVar6 + 1 == iVar1)" (( "(") (binary_expression "iVar6 + 1 == iVar1" (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) (== "==") (identifier "iVar1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar3 = iVar3 + 0x34;" (assignment_expression "iVar3 = iVar3 + 0x34" (identifier "iVar3") (= "=") (binary_expression "iVar3 + 0x34" (identifier "iVar3") (+ "+") (number_literal "0x34"))) (; ";")) (expression_statement "__s = (void *)*piVar2;" (assignment_expression "__s = (void *)*piVar2" (identifier "__s") (= "=") (cast_expression "(void *)*piVar2" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (} "}"))) (} "}"))) (return_statement "return piVar2;" (return "return") (identifier "piVar2") (; ";")) (} "}"))) (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" (identifier "uVar4") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar2 = __errno_location();" (assignment_expression "piVar2 = __errno_location()" (identifier "piVar2") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar5 = GetExceptionMessage(*piVar2);" (assignment_expression "uVar5 = GetExceptionMessage(*piVar2)" (identifier "uVar5") (= "=") (call_expression "GetExceptionMessage(*piVar2)" (identifier "GetExceptionMessage") (argument_list "(*piVar2)" (( "(") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) () ")")))) (; ";")) (expression_statement "uVar8 = 0x112;" (assignment_expression "uVar8 = 0x112" (identifier "uVar8") (= "=") (number_literal "0x112")) (; ";")) (} "}")))) (expression_statement "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5);" (call_expression "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5)" (identifier "ThrowMagickException") (argument_list "(uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar5)" (( "(") (identifier "uVar4") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""AcquirePixelCacheNexus"" (" """) (string_content "AcquirePixelCacheNexus") (" """)) (, ",") (identifier "uVar8") (, ",") (number_literal "700") (, ",") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "DestroyString(uVar5);" (call_expression "DestroyString(uVar5)" (identifier "DestroyString") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "CatchException(uVar4);" (call_expression "CatchException(uVar4)" (identifier "CatchException") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "DestroyExceptionInfo(uVar4);" (call_expression "DestroyExceptionInfo(uVar4)" (identifier "DestroyExceptionInfo") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (expression_statement "MagickCoreTerminus();" (call_expression "MagickCoreTerminus()" (identifier "MagickCoreTerminus") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "_exit(1);" (call_expression "_exit(1)" (identifier "_exit") (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (} "}")))

/* 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 */

type_1 ** function_1(size_t var_1)

{
  type_1 **var_3;
  type_1 *var_8;
  int var_10;
  type_2 *exception;
  int *piVar4;
  char *string;
  int var_11;
  size_t var_12;
  
  var_12 = var_1 * 2;
  var_3 = (type_1 **)var_2(var_12,4);
  if (var_3 == (type_1 **)0x0) {
    exception = var_4();
    piVar4 = var_5();
    string = var_6(*piVar4);
    var_12 = 0x10e;
  }
  else {
    var_8 = (type_1 *)var_7(var_12,0x34);
    *var_3 = var_8;
    if (var_8 != (type_1 *)0x0) {
      var_9(var_8,0,var_1 * 0x68);
      if (0 < (int)var_12) {
        var_10 = 0;
        var_11 = 0;
        while( true ) {
          var_8 = (type_1 *)((int)&var_8->mapped + var_10);
          var_3[var_11] = var_8;
          if (var_11 < (int)var_1) {
            var_8->virtual_nexus = (type_3 *)((int)&(*var_3)[var_1].mapped + var_10);
            var_3[var_11]->signature = 0xabacadab;
          }
          else {
            var_8->signature = 0xabacadab;
          }
          if (var_11 + 1U == var_12) break;
          var_11 = var_11 + 1;
          var_10 = var_10 + 0x34;
          var_8 = *var_3;
        }
      }
      return var_3;
    }
    exception = var_4();
    piVar4 = var_5();
    string = var_6(*piVar4);
    var_12 = 0x112;
  }
  var_13
            (exception,"MagickCore/cache.c","AcquirePixelCacheNexus",var_12,FatalErrorException,
             "MemoryAllocationFailed","`%s\'",string);
  var_14(string);
  var_15(exception);
  var_16(exception);
  var_17();
                    /* WARNING: Subroutine does not return */
  var_18(1);
}


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

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

int * MASKED(int param_1)

{
  int iVar1;
  int *piVar2;
  void *__s;
  int iVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  undefined4 uVar8;
  
  iVar1 = param_1 * 2;
  piVar2 = (int *)AcquireAlignedMemory(iVar1,4);
  if (piVar2 == (int *)0x0) {
    uVar4 = AcquireExceptionInfo();
    piVar2 = __errno_location();
    uVar5 = GetExceptionMessage(*piVar2);
    uVar8 = 0x10e;
  }
  else {
    __s = (void *)AcquireQuantumMemory(iVar1,0x34);
    *piVar2 = (int)__s;
    if (__s != (void *)0x0) {
      memset(__s,0,param_1 * 0x68);
      if (0 < iVar1) {
        iVar3 = 0;
        iVar6 = 0;
        while( true ) {
          iVar7 = (int)__s + iVar3;
          piVar2[iVar6] = iVar7;
          if (iVar6 < param_1) {
            *(int *)(iVar7 + 0x30) = param_1 * 0x34 + iVar3 + *piVar2;
            *(undefined4 *)(piVar2[iVar6] + 0x2c) = 0xabacadab;
          }
          else {
            *(undefined4 *)(iVar7 + 0x2c) = 0xabacadab;
          }
          if (iVar6 + 1 == iVar1) break;
          iVar6 = iVar6 + 1;
          iVar3 = iVar3 + 0x34;
          __s = (void *)*piVar2;
        }
      }
      return piVar2;
    }
    uVar4 = AcquireExceptionInfo();
    piVar2 = __errno_location();
    uVar5 = GetExceptionMessage(*piVar2);
    uVar8 = 0x112;
  }
  ThrowMagickException
            (uVar4,"MagickCore/cache.c","AcquirePixelCacheNexus",uVar8,700,"MemoryAllocationFailed",
             "`%s\'",uVar5);
  DestroyString(uVar5);
  CatchException(uVar4);
  DestroyExceptionInfo(uVar4);
  MagickCoreTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}

