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

Cache AcquirePixelCache(size_t number_threads)

{
  void *__s;
  pthread_t pVar1;
  uint uVar2;
  NexusInfo **ppNVar3;
  char *pcVar4;
  MagickBooleanType MVar5;
  SemaphoreInfo *pSVar6;
  undefined4 uVar7;
  ExceptionInfo *exception;
  int *piVar8;
  MagickSizeType MVar9;
  size_t line;
  
  __s = AcquireAlignedMemory(1,0x2414);
  if (__s == (void *)0x0) {
    exception = AcquireExceptionInfo();
    piVar8 = __errno_location();
    pcVar4 = GetExceptionMessage(*piVar8);
    line = 0xc5;
  }
  else {
    memset(__s,0,0x2414);
    *(undefined4 *)((int)__s + 4) = 0x17;
    *(undefined4 *)((int)__s + 800) = 0;
    *(undefined4 *)((int)__s + 0x324) = 2;
    *(undefined4 *)((int)__s + 0x328) = 2;
    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;
    pVar1 = pthread_self();
    *(pthread_t *)((int)__s + 0x23e4) = pVar1;
    *(size_t *)((int)__s + 0x394) = number_threads;
    uVar2 = omp_get_max_threads();
    if (*(uint *)((int)__s + 0x394) < uVar2) {
      uVar7 = omp_get_max_threads();
      *(undefined4 *)((int)__s + 0x394) = uVar7;
    }
    MVar9 = GetMagickResourceLimit(ThreadResource);
    uVar2 = *(uint *)((int)__s + 0x394);
    if ((0xffffffff < MVar9) || (uVar2 < (uint)MVar9)) {
      MVar9 = GetMagickResourceLimit(ThreadResource);
      uVar2 = (uint)MVar9;
      *(uint *)((int)__s + 0x394) = uVar2;
    }
    if (uVar2 == 0) {
      *(undefined4 *)((int)__s + 0x394) = 1;
      uVar2 = 1;
    }
    ppNVar3 = AcquirePixelCacheNexus(uVar2);
    *(NexusInfo ***)((int)__s + 0x398) = ppNVar3;
    if (ppNVar3 != (NexusInfo **)0x0) {
      pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");
      if (pcVar4 != (char *)0x0) {
        MVar5 = IsStringTrue(pcVar4);
        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;
        DestroyString(pcVar4);
      }
      pcVar4 = GetPolicyValue("cache:synchronize");
      if (pcVar4 != (char *)0x0) {
        MVar5 = IsStringTrue(pcVar4);
        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;
        DestroyString(pcVar4);
      }
      MVar9 = GetMagickResourceLimit(WidthResource);
      *(MagickSizeType *)((int)__s + 0x2404) = MVar9;
      MVar9 = GetMagickResourceLimit(HeightResource);
      *(MagickSizeType *)((int)__s + 0x240c) = MVar9;
      pSVar6 = AcquireSemaphoreInfo();
      *(undefined4 *)((int)__s + 0x23e8) = 1;
      *(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;
      pSVar6 = AcquireSemaphoreInfo();
      *(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;
      MVar5 = IsEventLogging();
      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;
      *(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;
      return __s;
    }
    exception = AcquireExceptionInfo();
    piVar8 = __errno_location();
    pcVar4 = GetExceptionMessage(*piVar8);
    line = 0xd6;
  }
  ThrowMagickException
            (exception,"MagickCore/cache.c","AcquirePixelCache",line,FatalErrorException,
             "MemoryAllocationFailed","`%s\'",pcVar4);
  DestroyString(pcVar4);
  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 */

void * FUN_0004f1c0(undefined4 param_1)

{
  void *__s;
  pthread_t pVar1;
  uint uVar2;
  int iVar3;
  undefined4 uVar4;
  int *piVar5;
  undefined4 uVar6;
  undefined8 uVar7;
  undefined4 uVar8;
  
  __s = (void *)AcquireAlignedMemory(1,0x2414);
  if (__s == (void *)0x0) {
    uVar4 = AcquireExceptionInfo();
    piVar5 = __errno_location();
    uVar6 = GetExceptionMessage(*piVar5);
    uVar8 = 0xc5;
  }
  else {
    memset(__s,0,0x2414);
    *(undefined4 *)((int)__s + 4) = 0x17;
    *(undefined4 *)((int)__s + 800) = 0;
    *(undefined4 *)((int)__s + 0x324) = 2;
    *(undefined4 *)((int)__s + 0x328) = 2;
    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;
    pVar1 = pthread_self();
    *(pthread_t *)((int)__s + 0x23e4) = pVar1;
    *(undefined4 *)((int)__s + 0x394) = param_1;
    uVar2 = omp_get_max_threads();
    if (*(uint *)((int)__s + 0x394) < uVar2) {
      uVar4 = omp_get_max_threads();
      *(undefined4 *)((int)__s + 0x394) = uVar4;
    }
    uVar7 = GetMagickResourceLimit(7);
    uVar2 = *(uint *)((int)__s + 0x394);
    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {
      uVar2 = GetMagickResourceLimit(7);
      *(uint *)((int)__s + 0x394) = uVar2;
    }
    if (uVar2 == 0) {
      *(undefined4 *)((int)__s + 0x394) = 1;
      uVar2 = 1;
    }
    iVar3 = FUN_0004f070(uVar2);
    *(int *)((int)__s + 0x398) = iVar3;
    if (iVar3 != 0) {
      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");
      if (iVar3 != 0) {
        uVar4 = IsStringTrue(iVar3);
        *(undefined4 *)((int)__s + 0x23dc) = uVar4;
        DestroyString(iVar3);
      }
      iVar3 = GetPolicyValue("cache:synchronize");
      if (iVar3 != 0) {
        uVar4 = IsStringTrue(iVar3);
        *(undefined4 *)((int)__s + 0x23dc) = uVar4;
        DestroyString(iVar3);
      }
      uVar7 = GetMagickResourceLimit(10);
      *(undefined8 *)((int)__s + 0x2404) = uVar7;
      uVar7 = GetMagickResourceLimit(4);
      *(undefined8 *)((int)__s + 0x240c) = uVar7;
      uVar4 = AcquireSemaphoreInfo();
      *(undefined4 *)((int)__s + 0x23e8) = 1;
      *(undefined4 *)((int)__s + 0x23ec) = uVar4;
      uVar4 = AcquireSemaphoreInfo();
      *(undefined4 *)((int)__s + 0x23f0) = uVar4;
      uVar4 = IsEventLogging();
      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;
      *(undefined4 *)((int)__s + 0x23e0) = uVar4;
      return __s;
    }
    uVar4 = AcquireExceptionInfo();
    piVar5 = __errno_location();
    uVar6 = GetExceptionMessage(*piVar5);
    uVar8 = 0xd6;
  }
  ThrowMagickException
            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",
             "`%s\'",uVar6);
  DestroyString(uVar6);
  CatchException(uVar4);
  DestroyExceptionInfo(uVar4);
  MagickCoreTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00038830
ADD EBX,0x389e37
SUB ESP,0x14
PUSH 0x2414
PUSH 0x1
CALL 0x000337b0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0004f3c0
SUB ESP,0x4
MOV ESI,EAX
PUSH 0x2414
PUSH 0x0
PUSH EAX
CALL 0x000310a0
MOV dword ptr [ESI + 0x4],0x17
MOV dword ptr [ESI + 0x320],0x0
MOV dword ptr [ESI + 0x324],0x2
MOV dword ptr [ESI + 0x328],0x2
MOV dword ptr [ESI + 0x3a4],0xffffffff
CALL 0x00033870
MOV dword ptr [ESI + 0x23e4],EAX
MOV EAX,dword ptr [ESP + 0x30]
MOV dword ptr [ESI + 0x394],EAX
CALL 0x00033990
ADD ESP,0x10
CMP dword ptr [ESI + 0x394],EAX
JC 0x0004f3b0
SUB ESP,0xc
XOR EBP,EBP
PUSH 0x7
CALL 0x00032640
MOV ECX,dword ptr [ESI + 0x394]
ADD ESP,0x10
CMP EBP,EDX
JA 0x0004f27a
JC 0x0004f388
CMP ECX,EAX
JC 0x0004f388
TEST ECX,ECX
JZ 0x0004f370
SUB ESP,0xc
PUSH ECX
CALL 0x0004f070
ADD ESP,0x10
MOV dword ptr [ESI + 0x398],EAX
TEST EAX,EAX
JZ 0x0004f433
LEA EAX,[EBX + 0xffec74ec]
SUB ESP,0xc
PUSH EAX
CALL 0x00030db0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0004f2ce
SUB ESP,0xc
PUSH EAX
CALL 0x00033460
MOV dword ptr [ESI + 0x23dc],EAX
MOV dword ptr [ESP],EDI
CALL 0x00032950
ADD ESP,0x10
LEA EAX,[EBX + 0xffec74ff]
SUB ESP,0xc
PUSH EAX
CALL 0x00031f20
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0004f300
SUB ESP,0xc
PUSH EAX
CALL 0x00033460
MOV dword ptr [ESI + 0x23dc],EAX
MOV dword ptr [ESP],EDI
CALL 0x00032950
ADD ESP,0x10
SUB ESP,0xc
PUSH 0xa
CALL 0x00032640
MOV dword ptr [ESI + 0x2404],EAX
MOV dword ptr [ESI + 0x2408],EDX
MOV dword ptr [ESP],0x4
CALL 0x00032640
ADD ESP,0x10
MOV dword ptr [ESI + 0x2410],EDX
MOV dword ptr [ESI + 0x240c],EAX
CALL 0x00031330
MOV dword ptr [ESI + 0x23e8],0x1
MOV dword ptr [ESI + 0x23ec],EAX
CALL 0x00031330
MOV dword ptr [ESI + 0x23f0],EAX
CALL 0x00030d70
MOV dword ptr [ESI + 0x23f8],0xabacadab
MOV dword ptr [ESI + 0x23e0],EAX
ADD ESP,0xc
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESI + 0x394],0x1
MOV ECX,0x1
JMP 0x0004f282
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
MOV ECX,EAX
MOV dword ptr [ESI + 0x394],EAX
TEST ECX,ECX
JNZ 0x0004f282
JMP 0x0004f370
CALL 0x00033990
MOV dword ptr [ESI + 0x394],EAX
JMP 0x0004f253
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 + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec63d6]
PUSH EAX
PUSH 0x2bc
PUSH 0xc5
LEA EAX,[EBX + 0xffec81f8]
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
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 + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec63d6]
PUSH EAX
PUSH 0x2bc
PUSH 0xd6
JMP 0x0004f3f4
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid * FUN_0004f1c0(undefined4 param_1)\n\n{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined4 uVar8;\n  \n  __s = (void *)AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);\n  DestroyString(uVar6);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}\n\n" comment (function_definition "void * FUN_0004f1c0(undefined4 param_1)\n\n{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined4 uVar8;\n  \n  __s = (void *)AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);\n  DestroyString(uVar6);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" primitive_type (pointer_declarator "* FUN_0004f1c0(undefined4 param_1)" * (function_declarator "FUN_0004f1c0(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) )))) (compound_statement "{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined4 uVar8;\n  \n  __s = (void *)AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);\n  DestroyString(uVar6);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" { (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "pthread_t pVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (expression_statement "__s = (void *)AcquireAlignedMemory(1,0x2414);" (assignment_expression "__s = (void *)AcquireAlignedMemory(1,0x2414)" identifier = (cast_expression "(void *)AcquireAlignedMemory(1,0x2414)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireAlignedMemory(1,0x2414)" identifier (argument_list "(1,0x2414)" ( number_literal , number_literal ))))) ;) (if_statement "if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\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    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }" { (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" identifier = (call_expression "GetExceptionMessage(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) (expression_statement "uVar8 = 0xc5;" (assignment_expression "uVar8 = 0xc5" identifier = number_literal) ;) }) (else_clause "else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }" else (compound_statement "{\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }" { (expression_statement "memset(__s,0,0x2414);" (call_expression "memset(__s,0,0x2414)" identifier (argument_list "(__s,0,0x2414)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "*(undefined4 *)((int)__s + 4) = 0x17;" (assignment_expression "*(undefined4 *)((int)__s + 4) = 0x17" (pointer_expression "*(undefined4 *)((int)__s + 4)" * (cast_expression "(undefined4 *)((int)__s + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 4)" ( (binary_expression "(int)__s + 4" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 800) = 0;" (assignment_expression "*(undefined4 *)((int)__s + 800) = 0" (pointer_expression "*(undefined4 *)((int)__s + 800)" * (cast_expression "(undefined4 *)((int)__s + 800)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 800)" ( (binary_expression "(int)__s + 800" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x324) = 2;" (assignment_expression "*(undefined4 *)((int)__s + 0x324) = 2" (pointer_expression "*(undefined4 *)((int)__s + 0x324)" * (cast_expression "(undefined4 *)((int)__s + 0x324)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x324)" ( (binary_expression "(int)__s + 0x324" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x328) = 2;" (assignment_expression "*(undefined4 *)((int)__s + 0x328) = 2" (pointer_expression "*(undefined4 *)((int)__s + 0x328)" * (cast_expression "(undefined4 *)((int)__s + 0x328)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x328)" ( (binary_expression "(int)__s + 0x328" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)__s + 0x3a4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)__s + 0x3a4)" * (cast_expression "(undefined4 *)((int)__s + 0x3a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x3a4)" ( (binary_expression "(int)__s + 0x3a4" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pVar1 = pthread_self();" (assignment_expression "pVar1 = pthread_self()" identifier = (call_expression "pthread_self()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(pthread_t *)((int)__s + 0x23e4) = pVar1;" (assignment_expression "*(pthread_t *)((int)__s + 0x23e4) = pVar1" (pointer_expression "*(pthread_t *)((int)__s + 0x23e4)" * (cast_expression "(pthread_t *)((int)__s + 0x23e4)" ( (type_descriptor "pthread_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23e4)" ( (binary_expression "(int)__s + 0x23e4" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)__s + 0x394) = param_1;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = param_1" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" * (cast_expression "(undefined4 *)((int)__s + 0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar2 = omp_get_max_threads();" (assignment_expression "uVar2 = omp_get_max_threads()" identifier = (call_expression "omp_get_max_threads()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }" if (parenthesized_expression "(*(uint *)((int)__s + 0x394) < uVar2)" ( (binary_expression "*(uint *)((int)__s + 0x394) < uVar2" (pointer_expression "*(uint *)((int)__s + 0x394)" * (cast_expression "(uint *)((int)__s + 0x394)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < identifier) )) (compound_statement "{\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }" { (expression_statement "uVar4 = omp_get_max_threads();" (assignment_expression "uVar4 = omp_get_max_threads()" identifier = (call_expression "omp_get_max_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x394) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" * (cast_expression "(undefined4 *)((int)__s + 0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) (expression_statement "uVar7 = GetMagickResourceLimit(7);" (assignment_expression "uVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "uVar2 = *(uint *)((int)__s + 0x394);" (assignment_expression "uVar2 = *(uint *)((int)__s + 0x394)" identifier = (pointer_expression "*(uint *)((int)__s + 0x394)" * (cast_expression "(uint *)((int)__s + 0x394)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7))" ( (binary_expression "((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)" (parenthesized_expression "((int)((ulonglong)uVar7 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar7 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar7 >> 0x20)" ( (binary_expression "(ulonglong)uVar7 >> 0x20" (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) || (parenthesized_expression "(uVar2 < (uint)uVar7)" ( (binary_expression "uVar2 < (uint)uVar7" identifier < (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }" { (expression_statement "uVar2 = GetMagickResourceLimit(7);" (assignment_expression "uVar2 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "*(uint *)((int)__s + 0x394) = uVar2;" (assignment_expression "*(uint *)((int)__s + 0x394) = uVar2" (pointer_expression "*(uint *)((int)__s + 0x394)" * (cast_expression "(uint *)((int)__s + 0x394)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) (if_statement "if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }" { (expression_statement "*(undefined4 *)((int)__s + 0x394) = 1;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = 1" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" * (cast_expression "(undefined4 *)((int)__s + 0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) })) (expression_statement "iVar3 = FUN_0004f070(uVar2);" (assignment_expression "iVar3 = FUN_0004f070(uVar2)" identifier = (call_expression "FUN_0004f070(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "*(int *)((int)__s + 0x398) = iVar3;" (assignment_expression "*(int *)((int)__s + 0x398) = iVar3" (pointer_expression "*(int *)((int)__s + 0x398)" * (cast_expression "(int *)((int)__s + 0x398)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x398)" ( (binary_expression "(int)__s + 0x398" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }" { (expression_statement "iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");" (assignment_expression "iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE")" identifier = (call_expression "GetEnvironmentValue("MAGICK_SYNCHRONIZE")" identifier (argument_list "("MAGICK_SYNCHRONIZE")" ( (string_literal ""MAGICK_SYNCHRONIZE"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" { (expression_statement "uVar4 = IsStringTrue(iVar3);" (assignment_expression "uVar4 = IsStringTrue(iVar3)" identifier = (call_expression "IsStringTrue(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23dc) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23dc) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23dc)" * (cast_expression "(undefined4 *)((int)__s + 0x23dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23dc)" ( (binary_expression "(int)__s + 0x23dc" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "DestroyString(iVar3);" (call_expression "DestroyString(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) })) (expression_statement "iVar3 = GetPolicyValue("cache:synchronize");" (assignment_expression "iVar3 = GetPolicyValue("cache:synchronize")" identifier = (call_expression "GetPolicyValue("cache:synchronize")" identifier (argument_list "("cache:synchronize")" ( (string_literal ""cache:synchronize"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" { (expression_statement "uVar4 = IsStringTrue(iVar3);" (assignment_expression "uVar4 = IsStringTrue(iVar3)" identifier = (call_expression "IsStringTrue(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23dc) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23dc) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23dc)" * (cast_expression "(undefined4 *)((int)__s + 0x23dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23dc)" ( (binary_expression "(int)__s + 0x23dc" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "DestroyString(iVar3);" (call_expression "DestroyString(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) })) (expression_statement "uVar7 = GetMagickResourceLimit(10);" (assignment_expression "uVar7 = GetMagickResourceLimit(10)" identifier = (call_expression "GetMagickResourceLimit(10)" identifier (argument_list "(10)" ( number_literal )))) ;) (expression_statement "*(undefined8 *)((int)__s + 0x2404) = uVar7;" (assignment_expression "*(undefined8 *)((int)__s + 0x2404) = uVar7" (pointer_expression "*(undefined8 *)((int)__s + 0x2404)" * (cast_expression "(undefined8 *)((int)__s + 0x2404)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x2404)" ( (binary_expression "(int)__s + 0x2404" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = GetMagickResourceLimit(4);" (assignment_expression "uVar7 = GetMagickResourceLimit(4)" identifier = (call_expression "GetMagickResourceLimit(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (expression_statement "*(undefined8 *)((int)__s + 0x240c) = uVar7;" (assignment_expression "*(undefined8 *)((int)__s + 0x240c) = uVar7" (pointer_expression "*(undefined8 *)((int)__s + 0x240c)" * (cast_expression "(undefined8 *)((int)__s + 0x240c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x240c)" ( (binary_expression "(int)__s + 0x240c" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = AcquireSemaphoreInfo();" (assignment_expression "uVar4 = AcquireSemaphoreInfo()" identifier = (call_expression "AcquireSemaphoreInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23e8) = 1;" (assignment_expression "*(undefined4 *)((int)__s + 0x23e8) = 1" (pointer_expression "*(undefined4 *)((int)__s + 0x23e8)" * (cast_expression "(undefined4 *)((int)__s + 0x23e8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23e8)" ( (binary_expression "(int)__s + 0x23e8" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23ec) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23ec) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23ec)" * (cast_expression "(undefined4 *)((int)__s + 0x23ec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23ec)" ( (binary_expression "(int)__s + 0x23ec" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = AcquireSemaphoreInfo();" (assignment_expression "uVar4 = AcquireSemaphoreInfo()" identifier = (call_expression "AcquireSemaphoreInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23f0) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23f0) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23f0)" * (cast_expression "(undefined4 *)((int)__s + 0x23f0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23f0)" ( (binary_expression "(int)__s + 0x23f0" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = IsEventLogging();" (assignment_expression "uVar4 = IsEventLogging()" identifier = (call_expression "IsEventLogging()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;" (assignment_expression "*(undefined4 *)((int)__s + 0x23f8) = 0xabacadab" (pointer_expression "*(undefined4 *)((int)__s + 0x23f8)" * (cast_expression "(undefined4 *)((int)__s + 0x23f8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23f8)" ( (binary_expression "(int)__s + 0x23f8" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23e0) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23e0) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23e0)" * (cast_expression "(undefined4 *)((int)__s + 0x23e0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23e0)" ( (binary_expression "(int)__s + 0x23e0" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return __s;" return identifier ;) })) (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" identifier = (call_expression "GetExceptionMessage(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) (expression_statement "uVar8 = 0xd6;" (assignment_expression "uVar8 = 0xd6" identifier = number_literal) ;) }))) (expression_statement "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);" (call_expression "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6)" identifier (argument_list "(uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""AcquirePixelCache"" " string_content ") , identifier , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(uVar6);" (call_expression "DestroyString(uVar6)" identifier (argument_list "(uVar6)" ( 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\nCache AcquirePixelCache(size_t number_threads)\n\n{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  NexusInfo **ppNVar3;\n  char *pcVar4;\n  MagickBooleanType MVar5;\n  SemaphoreInfo *pSVar6;\n  undefined4 uVar7;\n  ExceptionInfo *exception;\n  int *piVar8;\n  MagickSizeType MVar9;\n  size_t line;\n  \n  __s = AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(size_t *)((int)__s + 0x394) = number_threads;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar7 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar7;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if ((0xffffffff < MVar9) || (uVar2 < (uint)MVar9)) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      uVar2 = (uint)MVar9;\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    ppNVar3 = AcquirePixelCacheNexus(uVar2);\n    *(NexusInfo ***)((int)__s + 0x398) = ppNVar3;\n    if (ppNVar3 != (NexusInfo **)0x0) {\n      pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      pcVar4 = GetPolicyValue("cache:synchronize");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      MVar9 = GetMagickResourceLimit(WidthResource);\n      *(MagickSizeType *)((int)__s + 0x2404) = MVar9;\n      MVar9 = GetMagickResourceLimit(HeightResource);\n      *(MagickSizeType *)((int)__s + 0x240c) = MVar9;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;\n      MVar5 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;\n      return __s;\n    }\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xd6;\n  }\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCache",line,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",pcVar4);\n  DestroyString(pcVar4);\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 "Cache AcquirePixelCache(size_t number_threads)\n\n{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  NexusInfo **ppNVar3;\n  char *pcVar4;\n  MagickBooleanType MVar5;\n  SemaphoreInfo *pSVar6;\n  undefined4 uVar7;\n  ExceptionInfo *exception;\n  int *piVar8;\n  MagickSizeType MVar9;\n  size_t line;\n  \n  __s = AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(size_t *)((int)__s + 0x394) = number_threads;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar7 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar7;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if ((0xffffffff < MVar9) || (uVar2 < (uint)MVar9)) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      uVar2 = (uint)MVar9;\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    ppNVar3 = AcquirePixelCacheNexus(uVar2);\n    *(NexusInfo ***)((int)__s + 0x398) = ppNVar3;\n    if (ppNVar3 != (NexusInfo **)0x0) {\n      pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      pcVar4 = GetPolicyValue("cache:synchronize");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      MVar9 = GetMagickResourceLimit(WidthResource);\n      *(MagickSizeType *)((int)__s + 0x2404) = MVar9;\n      MVar9 = GetMagickResourceLimit(HeightResource);\n      *(MagickSizeType *)((int)__s + 0x240c) = MVar9;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;\n      MVar5 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;\n      return __s;\n    }\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xd6;\n  }\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCache",line,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",pcVar4);\n  DestroyString(pcVar4);\n  CatchException(exception);\n  DestroyExceptionInfo(exception);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" type_identifier (function_declarator "AcquirePixelCache(size_t number_threads)" identifier (parameter_list "(size_t number_threads)" ( (parameter_declaration "size_t number_threads" primitive_type identifier) ))) (compound_statement "{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  NexusInfo **ppNVar3;\n  char *pcVar4;\n  MagickBooleanType MVar5;\n  SemaphoreInfo *pSVar6;\n  undefined4 uVar7;\n  ExceptionInfo *exception;\n  int *piVar8;\n  MagickSizeType MVar9;\n  size_t line;\n  \n  __s = AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(size_t *)((int)__s + 0x394) = number_threads;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar7 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar7;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if ((0xffffffff < MVar9) || (uVar2 < (uint)MVar9)) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      uVar2 = (uint)MVar9;\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    ppNVar3 = AcquirePixelCacheNexus(uVar2);\n    *(NexusInfo ***)((int)__s + 0x398) = ppNVar3;\n    if (ppNVar3 != (NexusInfo **)0x0) {\n      pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      pcVar4 = GetPolicyValue("cache:synchronize");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      MVar9 = GetMagickResourceLimit(WidthResource);\n      *(MagickSizeType *)((int)__s + 0x2404) = MVar9;\n      MVar9 = GetMagickResourceLimit(HeightResource);\n      *(MagickSizeType *)((int)__s + 0x240c) = MVar9;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;\n      MVar5 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;\n      return __s;\n    }\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xd6;\n  }\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCache",line,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",pcVar4);\n  DestroyString(pcVar4);\n  CatchException(exception);\n  DestroyExceptionInfo(exception);\n  MagickCoreTerminus();\n                    /* WARNING: Subroutine does not return */\n  _exit(1);\n}" { (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "pthread_t pVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "NexusInfo **ppNVar3;" type_identifier (pointer_declarator "**ppNVar3" * (pointer_declarator "*ppNVar3" * identifier)) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "MagickBooleanType MVar5;" type_identifier identifier ;) (declaration "SemaphoreInfo *pSVar6;" type_identifier (pointer_declarator "*pSVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "ExceptionInfo *exception;" type_identifier (pointer_declarator "*exception" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "MagickSizeType MVar9;" type_identifier identifier ;) (declaration "size_t line;" primitive_type identifier ;) (expression_statement "__s = AcquireAlignedMemory(1,0x2414);" (assignment_expression "__s = AcquireAlignedMemory(1,0x2414)" identifier = (call_expression "AcquireAlignedMemory(1,0x2414)" identifier (argument_list "(1,0x2414)" ( number_literal , number_literal )))) ;) (if_statement "if (__s == (void *)0x0) {\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(size_t *)((int)__s + 0x394) = number_threads;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar7 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar7;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if ((0xffffffff < MVar9) || (uVar2 < (uint)MVar9)) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      uVar2 = (uint)MVar9;\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    ppNVar3 = AcquirePixelCacheNexus(uVar2);\n    *(NexusInfo ***)((int)__s + 0x398) = ppNVar3;\n    if (ppNVar3 != (NexusInfo **)0x0) {\n      pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      pcVar4 = GetPolicyValue("cache:synchronize");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      MVar9 = GetMagickResourceLimit(WidthResource);\n      *(MagickSizeType *)((int)__s + 0x2404) = MVar9;\n      MVar9 = GetMagickResourceLimit(HeightResource);\n      *(MagickSizeType *)((int)__s + 0x240c) = MVar9;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;\n      MVar5 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;\n      return __s;\n    }\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xd6;\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    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xc5;\n  }" { (expression_statement "exception = AcquireExceptionInfo();" (assignment_expression "exception = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar4 = GetExceptionMessage(*piVar8);" (assignment_expression "pcVar4 = GetExceptionMessage(*piVar8)" identifier = (call_expression "GetExceptionMessage(*piVar8)" identifier (argument_list "(*piVar8)" ( (pointer_expression "*piVar8" * identifier) )))) ;) (expression_statement "line = 0xc5;" (assignment_expression "line = 0xc5" identifier = number_literal) ;) }) (else_clause "else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(size_t *)((int)__s + 0x394) = number_threads;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar7 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar7;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if ((0xffffffff < MVar9) || (uVar2 < (uint)MVar9)) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      uVar2 = (uint)MVar9;\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    ppNVar3 = AcquirePixelCacheNexus(uVar2);\n    *(NexusInfo ***)((int)__s + 0x398) = ppNVar3;\n    if (ppNVar3 != (NexusInfo **)0x0) {\n      pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      pcVar4 = GetPolicyValue("cache:synchronize");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      MVar9 = GetMagickResourceLimit(WidthResource);\n      *(MagickSizeType *)((int)__s + 0x2404) = MVar9;\n      MVar9 = GetMagickResourceLimit(HeightResource);\n      *(MagickSizeType *)((int)__s + 0x240c) = MVar9;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;\n      MVar5 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;\n      return __s;\n    }\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xd6;\n  }" else (compound_statement "{\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(size_t *)((int)__s + 0x394) = number_threads;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar7 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar7;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if ((0xffffffff < MVar9) || (uVar2 < (uint)MVar9)) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      uVar2 = (uint)MVar9;\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    ppNVar3 = AcquirePixelCacheNexus(uVar2);\n    *(NexusInfo ***)((int)__s + 0x398) = ppNVar3;\n    if (ppNVar3 != (NexusInfo **)0x0) {\n      pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      pcVar4 = GetPolicyValue("cache:synchronize");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      MVar9 = GetMagickResourceLimit(WidthResource);\n      *(MagickSizeType *)((int)__s + 0x2404) = MVar9;\n      MVar9 = GetMagickResourceLimit(HeightResource);\n      *(MagickSizeType *)((int)__s + 0x240c) = MVar9;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;\n      MVar5 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;\n      return __s;\n    }\n    exception = AcquireExceptionInfo();\n    piVar8 = __errno_location();\n    pcVar4 = GetExceptionMessage(*piVar8);\n    line = 0xd6;\n  }" { (expression_statement "memset(__s,0,0x2414);" (call_expression "memset(__s,0,0x2414)" identifier (argument_list "(__s,0,0x2414)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "*(undefined4 *)((int)__s + 4) = 0x17;" (assignment_expression "*(undefined4 *)((int)__s + 4) = 0x17" (pointer_expression "*(undefined4 *)((int)__s + 4)" * (cast_expression "(undefined4 *)((int)__s + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 4)" ( (binary_expression "(int)__s + 4" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 800) = 0;" (assignment_expression "*(undefined4 *)((int)__s + 800) = 0" (pointer_expression "*(undefined4 *)((int)__s + 800)" * (cast_expression "(undefined4 *)((int)__s + 800)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 800)" ( (binary_expression "(int)__s + 800" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x324) = 2;" (assignment_expression "*(undefined4 *)((int)__s + 0x324) = 2" (pointer_expression "*(undefined4 *)((int)__s + 0x324)" * (cast_expression "(undefined4 *)((int)__s + 0x324)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x324)" ( (binary_expression "(int)__s + 0x324" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x328) = 2;" (assignment_expression "*(undefined4 *)((int)__s + 0x328) = 2" (pointer_expression "*(undefined4 *)((int)__s + 0x328)" * (cast_expression "(undefined4 *)((int)__s + 0x328)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x328)" ( (binary_expression "(int)__s + 0x328" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)__s + 0x3a4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)__s + 0x3a4)" * (cast_expression "(undefined4 *)((int)__s + 0x3a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x3a4)" ( (binary_expression "(int)__s + 0x3a4" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pVar1 = pthread_self();" (assignment_expression "pVar1 = pthread_self()" identifier = (call_expression "pthread_self()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(pthread_t *)((int)__s + 0x23e4) = pVar1;" (assignment_expression "*(pthread_t *)((int)__s + 0x23e4) = pVar1" (pointer_expression "*(pthread_t *)((int)__s + 0x23e4)" * (cast_expression "(pthread_t *)((int)__s + 0x23e4)" ( (type_descriptor "pthread_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23e4)" ( (binary_expression "(int)__s + 0x23e4" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)((int)__s + 0x394) = number_threads;" (assignment_expression "*(size_t *)((int)__s + 0x394) = number_threads" (pointer_expression "*(size_t *)((int)__s + 0x394)" * (cast_expression "(size_t *)((int)__s + 0x394)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar2 = omp_get_max_threads();" (assignment_expression "uVar2 = omp_get_max_threads()" identifier = (call_expression "omp_get_max_threads()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar7 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar7;\n    }" if (parenthesized_expression "(*(uint *)((int)__s + 0x394) < uVar2)" ( (binary_expression "*(uint *)((int)__s + 0x394) < uVar2" (pointer_expression "*(uint *)((int)__s + 0x394)" * (cast_expression "(uint *)((int)__s + 0x394)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < identifier) )) (compound_statement "{\n      uVar7 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar7;\n    }" { (expression_statement "uVar7 = omp_get_max_threads();" (assignment_expression "uVar7 = omp_get_max_threads()" identifier = (call_expression "omp_get_max_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x394) = uVar7;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = uVar7" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" * (cast_expression "(undefined4 *)((int)__s + 0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) (expression_statement "MVar9 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar9 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "uVar2 = *(uint *)((int)__s + 0x394);" (assignment_expression "uVar2 = *(uint *)((int)__s + 0x394)" identifier = (pointer_expression "*(uint *)((int)__s + 0x394)" * (cast_expression "(uint *)((int)__s + 0x394)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((0xffffffff < MVar9) || (uVar2 < (uint)MVar9)) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      uVar2 = (uint)MVar9;\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }" if (parenthesized_expression "((0xffffffff < MVar9) || (uVar2 < (uint)MVar9))" ( (binary_expression "(0xffffffff < MVar9) || (uVar2 < (uint)MVar9)" (parenthesized_expression "(0xffffffff < MVar9)" ( (binary_expression "0xffffffff < MVar9" number_literal < identifier) )) || (parenthesized_expression "(uVar2 < (uint)MVar9)" ( (binary_expression "uVar2 < (uint)MVar9" identifier < (cast_expression "(uint)MVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      uVar2 = (uint)MVar9;\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }" { (expression_statement "MVar9 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar9 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "uVar2 = (uint)MVar9;" (assignment_expression "uVar2 = (uint)MVar9" identifier = (cast_expression "(uint)MVar9" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(uint *)((int)__s + 0x394) = uVar2;" (assignment_expression "*(uint *)((int)__s + 0x394) = uVar2" (pointer_expression "*(uint *)((int)__s + 0x394)" * (cast_expression "(uint *)((int)__s + 0x394)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) (if_statement "if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }" { (expression_statement "*(undefined4 *)((int)__s + 0x394) = 1;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = 1" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" * (cast_expression "(undefined4 *)((int)__s + 0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) })) (expression_statement "ppNVar3 = AcquirePixelCacheNexus(uVar2);" (assignment_expression "ppNVar3 = AcquirePixelCacheNexus(uVar2)" identifier = (call_expression "AcquirePixelCacheNexus(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "*(NexusInfo ***)((int)__s + 0x398) = ppNVar3;" (assignment_expression "*(NexusInfo ***)((int)__s + 0x398) = ppNVar3" (pointer_expression "*(NexusInfo ***)((int)__s + 0x398)" * (cast_expression "(NexusInfo ***)((int)__s + 0x398)" ( (type_descriptor "NexusInfo ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((int)__s + 0x398)" ( (binary_expression "(int)__s + 0x398" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (ppNVar3 != (NexusInfo **)0x0) {\n      pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      pcVar4 = GetPolicyValue("cache:synchronize");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      MVar9 = GetMagickResourceLimit(WidthResource);\n      *(MagickSizeType *)((int)__s + 0x2404) = MVar9;\n      MVar9 = GetMagickResourceLimit(HeightResource);\n      *(MagickSizeType *)((int)__s + 0x240c) = MVar9;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;\n      MVar5 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;\n      return __s;\n    }" if (parenthesized_expression "(ppNVar3 != (NexusInfo **)0x0)" ( (binary_expression "ppNVar3 != (NexusInfo **)0x0" identifier != (cast_expression "(NexusInfo **)0x0" ( (type_descriptor "NexusInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      pcVar4 = GetPolicyValue("cache:synchronize");\n      if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }\n      MVar9 = GetMagickResourceLimit(WidthResource);\n      *(MagickSizeType *)((int)__s + 0x2404) = MVar9;\n      MVar9 = GetMagickResourceLimit(HeightResource);\n      *(MagickSizeType *)((int)__s + 0x240c) = MVar9;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;\n      pSVar6 = AcquireSemaphoreInfo();\n      *(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;\n      MVar5 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;\n      return __s;\n    }" { (expression_statement "pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");" (assignment_expression "pcVar4 = GetEnvironmentValue("MAGICK_SYNCHRONIZE")" identifier = (call_expression "GetEnvironmentValue("MAGICK_SYNCHRONIZE")" identifier (argument_list "("MAGICK_SYNCHRONIZE")" ( (string_literal ""MAGICK_SYNCHRONIZE"" " string_content ") )))) ;) (if_statement "if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }" { (expression_statement "MVar5 = IsStringTrue(pcVar4);" (assignment_expression "MVar5 = IsStringTrue(pcVar4)" identifier = (call_expression "IsStringTrue(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "*(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;" (assignment_expression "*(MagickBooleanType *)((int)__s + 0x23dc) = MVar5" (pointer_expression "*(MagickBooleanType *)((int)__s + 0x23dc)" * (cast_expression "(MagickBooleanType *)((int)__s + 0x23dc)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23dc)" ( (binary_expression "(int)__s + 0x23dc" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "DestroyString(pcVar4);" (call_expression "DestroyString(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) })) (expression_statement "pcVar4 = GetPolicyValue("cache:synchronize");" (assignment_expression "pcVar4 = GetPolicyValue("cache:synchronize")" identifier = (call_expression "GetPolicyValue("cache:synchronize")" identifier (argument_list "("cache:synchronize")" ( (string_literal ""cache:synchronize"" " string_content ") )))) ;) (if_statement "if (pcVar4 != (char *)0x0) {\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }" if (parenthesized_expression "(pcVar4 != (char *)0x0)" ( (binary_expression "pcVar4 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        MVar5 = IsStringTrue(pcVar4);\n        *(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;\n        DestroyString(pcVar4);\n      }" { (expression_statement "MVar5 = IsStringTrue(pcVar4);" (assignment_expression "MVar5 = IsStringTrue(pcVar4)" identifier = (call_expression "IsStringTrue(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier )))) ;) (expression_statement "*(MagickBooleanType *)((int)__s + 0x23dc) = MVar5;" (assignment_expression "*(MagickBooleanType *)((int)__s + 0x23dc) = MVar5" (pointer_expression "*(MagickBooleanType *)((int)__s + 0x23dc)" * (cast_expression "(MagickBooleanType *)((int)__s + 0x23dc)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23dc)" ( (binary_expression "(int)__s + 0x23dc" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "DestroyString(pcVar4);" (call_expression "DestroyString(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) })) (expression_statement "MVar9 = GetMagickResourceLimit(WidthResource);" (assignment_expression "MVar9 = GetMagickResourceLimit(WidthResource)" identifier = (call_expression "GetMagickResourceLimit(WidthResource)" identifier (argument_list "(WidthResource)" ( identifier )))) ;) (expression_statement "*(MagickSizeType *)((int)__s + 0x2404) = MVar9;" (assignment_expression "*(MagickSizeType *)((int)__s + 0x2404) = MVar9" (pointer_expression "*(MagickSizeType *)((int)__s + 0x2404)" * (cast_expression "(MagickSizeType *)((int)__s + 0x2404)" ( (type_descriptor "MagickSizeType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x2404)" ( (binary_expression "(int)__s + 0x2404" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "MVar9 = GetMagickResourceLimit(HeightResource);" (assignment_expression "MVar9 = GetMagickResourceLimit(HeightResource)" identifier = (call_expression "GetMagickResourceLimit(HeightResource)" identifier (argument_list "(HeightResource)" ( identifier )))) ;) (expression_statement "*(MagickSizeType *)((int)__s + 0x240c) = MVar9;" (assignment_expression "*(MagickSizeType *)((int)__s + 0x240c) = MVar9" (pointer_expression "*(MagickSizeType *)((int)__s + 0x240c)" * (cast_expression "(MagickSizeType *)((int)__s + 0x240c)" ( (type_descriptor "MagickSizeType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x240c)" ( (binary_expression "(int)__s + 0x240c" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pSVar6 = AcquireSemaphoreInfo();" (assignment_expression "pSVar6 = AcquireSemaphoreInfo()" identifier = (call_expression "AcquireSemaphoreInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23e8) = 1;" (assignment_expression "*(undefined4 *)((int)__s + 0x23e8) = 1" (pointer_expression "*(undefined4 *)((int)__s + 0x23e8)" * (cast_expression "(undefined4 *)((int)__s + 0x23e8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23e8)" ( (binary_expression "(int)__s + 0x23e8" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6;" (assignment_expression "*(SemaphoreInfo **)((int)__s + 0x23ec) = pSVar6" (pointer_expression "*(SemaphoreInfo **)((int)__s + 0x23ec)" * (cast_expression "(SemaphoreInfo **)((int)__s + 0x23ec)" ( (type_descriptor "SemaphoreInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)__s + 0x23ec)" ( (binary_expression "(int)__s + 0x23ec" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "pSVar6 = AcquireSemaphoreInfo();" (assignment_expression "pSVar6 = AcquireSemaphoreInfo()" identifier = (call_expression "AcquireSemaphoreInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6;" (assignment_expression "*(SemaphoreInfo **)((int)__s + 0x23f0) = pSVar6" (pointer_expression "*(SemaphoreInfo **)((int)__s + 0x23f0)" * (cast_expression "(SemaphoreInfo **)((int)__s + 0x23f0)" ( (type_descriptor "SemaphoreInfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)__s + 0x23f0)" ( (binary_expression "(int)__s + 0x23f0" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "MVar5 = IsEventLogging();" (assignment_expression "MVar5 = IsEventLogging()" identifier = (call_expression "IsEventLogging()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;" (assignment_expression "*(undefined4 *)((int)__s + 0x23f8) = 0xabacadab" (pointer_expression "*(undefined4 *)((int)__s + 0x23f8)" * (cast_expression "(undefined4 *)((int)__s + 0x23f8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23f8)" ( (binary_expression "(int)__s + 0x23f8" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(MagickBooleanType *)((int)__s + 0x23e0) = MVar5;" (assignment_expression "*(MagickBooleanType *)((int)__s + 0x23e0) = MVar5" (pointer_expression "*(MagickBooleanType *)((int)__s + 0x23e0)" * (cast_expression "(MagickBooleanType *)((int)__s + 0x23e0)" ( (type_descriptor "MagickBooleanType *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23e0)" ( (binary_expression "(int)__s + 0x23e0" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return __s;" return identifier ;) })) (expression_statement "exception = AcquireExceptionInfo();" (assignment_expression "exception = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar8 = __errno_location();" (assignment_expression "piVar8 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar4 = GetExceptionMessage(*piVar8);" (assignment_expression "pcVar4 = GetExceptionMessage(*piVar8)" identifier = (call_expression "GetExceptionMessage(*piVar8)" identifier (argument_list "(*piVar8)" ( (pointer_expression "*piVar8" * identifier) )))) ;) (expression_statement "line = 0xd6;" (assignment_expression "line = 0xd6" identifier = number_literal) ;) }))) (expression_statement "ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCache",line,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",pcVar4);" (call_expression "ThrowMagickException\n            (exception,"MagickCore/cache.c","AcquirePixelCache",line,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",pcVar4)" identifier (argument_list "(exception,"MagickCore/cache.c","AcquirePixelCache",line,FatalErrorException,\n             "MemoryAllocationFailed","`%s\'",pcVar4)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""AcquirePixelCache"" " string_content ") , identifier , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(pcVar4);" (call_expression "DestroyString(pcVar4)" identifier (argument_list "(pcVar4)" ( 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 "void * FUN_0004f1c0(undefined4 param_1)\n\n{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined4 uVar8;\n  \n  __s = (void *)AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);\n  DestroyString(uVar6);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}\n\n" (function_definition "void * FUN_0004f1c0(undefined4 param_1)\n\n{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined4 uVar8;\n  \n  __s = (void *)AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);\n  DestroyString(uVar6);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" primitive_type (pointer_declarator "* FUN_0004f1c0(undefined4 param_1)" * (function_declarator "FUN_0004f1c0(undefined4 param_1)" identifier (parameter_list "(undefined4 param_1)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) )))) (compound_statement "{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined4 uVar8;\n  \n  __s = (void *)AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);\n  DestroyString(uVar6);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" { (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "pthread_t pVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (expression_statement "__s = (void *)AcquireAlignedMemory(1,0x2414);" (assignment_expression "__s = (void *)AcquireAlignedMemory(1,0x2414)" identifier = (cast_expression "(void *)AcquireAlignedMemory(1,0x2414)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireAlignedMemory(1,0x2414)" identifier (argument_list "(1,0x2414)" ( number_literal , number_literal ))))) ;) (if_statement "if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\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    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }" { (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" identifier = (call_expression "GetExceptionMessage(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) (expression_statement "uVar8 = 0xc5;" (assignment_expression "uVar8 = 0xc5" identifier = number_literal) ;) }) (else_clause "else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }" else (compound_statement "{\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }" { (expression_statement "memset(__s,0,0x2414);" (call_expression "memset(__s,0,0x2414)" identifier (argument_list "(__s,0,0x2414)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "*(undefined4 *)((int)__s + 4) = 0x17;" (assignment_expression "*(undefined4 *)((int)__s + 4) = 0x17" (pointer_expression "*(undefined4 *)((int)__s + 4)" * (cast_expression "(undefined4 *)((int)__s + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 4)" ( (binary_expression "(int)__s + 4" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 800) = 0;" (assignment_expression "*(undefined4 *)((int)__s + 800) = 0" (pointer_expression "*(undefined4 *)((int)__s + 800)" * (cast_expression "(undefined4 *)((int)__s + 800)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 800)" ( (binary_expression "(int)__s + 800" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x324) = 2;" (assignment_expression "*(undefined4 *)((int)__s + 0x324) = 2" (pointer_expression "*(undefined4 *)((int)__s + 0x324)" * (cast_expression "(undefined4 *)((int)__s + 0x324)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x324)" ( (binary_expression "(int)__s + 0x324" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x328) = 2;" (assignment_expression "*(undefined4 *)((int)__s + 0x328) = 2" (pointer_expression "*(undefined4 *)((int)__s + 0x328)" * (cast_expression "(undefined4 *)((int)__s + 0x328)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x328)" ( (binary_expression "(int)__s + 0x328" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)__s + 0x3a4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)__s + 0x3a4)" * (cast_expression "(undefined4 *)((int)__s + 0x3a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x3a4)" ( (binary_expression "(int)__s + 0x3a4" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pVar1 = pthread_self();" (assignment_expression "pVar1 = pthread_self()" identifier = (call_expression "pthread_self()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(pthread_t *)((int)__s + 0x23e4) = pVar1;" (assignment_expression "*(pthread_t *)((int)__s + 0x23e4) = pVar1" (pointer_expression "*(pthread_t *)((int)__s + 0x23e4)" * (cast_expression "(pthread_t *)((int)__s + 0x23e4)" ( (type_descriptor "pthread_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23e4)" ( (binary_expression "(int)__s + 0x23e4" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)__s + 0x394) = param_1;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = param_1" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" * (cast_expression "(undefined4 *)((int)__s + 0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar2 = omp_get_max_threads();" (assignment_expression "uVar2 = omp_get_max_threads()" identifier = (call_expression "omp_get_max_threads()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }" if (parenthesized_expression "(*(uint *)((int)__s + 0x394) < uVar2)" ( (binary_expression "*(uint *)((int)__s + 0x394) < uVar2" (pointer_expression "*(uint *)((int)__s + 0x394)" * (cast_expression "(uint *)((int)__s + 0x394)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) < identifier) )) (compound_statement "{\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }" { (expression_statement "uVar4 = omp_get_max_threads();" (assignment_expression "uVar4 = omp_get_max_threads()" identifier = (call_expression "omp_get_max_threads()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x394) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" * (cast_expression "(undefined4 *)((int)__s + 0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) (expression_statement "uVar7 = GetMagickResourceLimit(7);" (assignment_expression "uVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "uVar2 = *(uint *)((int)__s + 0x394);" (assignment_expression "uVar2 = *(uint *)((int)__s + 0x394)" identifier = (pointer_expression "*(uint *)((int)__s + 0x394)" * (cast_expression "(uint *)((int)__s + 0x394)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7))" ( (binary_expression "((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)" (parenthesized_expression "((int)((ulonglong)uVar7 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar7 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar7 >> 0x20)" ( (binary_expression "(ulonglong)uVar7 >> 0x20" (cast_expression "(ulonglong)uVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) )) || (parenthesized_expression "(uVar2 < (uint)uVar7)" ( (binary_expression "uVar2 < (uint)uVar7" identifier < (cast_expression "(uint)uVar7" ( (type_descriptor "uint" type_identifier) ) identifier)) ))) )) (compound_statement "{\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }" { (expression_statement "uVar2 = GetMagickResourceLimit(7);" (assignment_expression "uVar2 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "*(uint *)((int)__s + 0x394) = uVar2;" (assignment_expression "*(uint *)((int)__s + 0x394) = uVar2" (pointer_expression "*(uint *)((int)__s + 0x394)" * (cast_expression "(uint *)((int)__s + 0x394)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) })) (if_statement "if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }" { (expression_statement "*(undefined4 *)((int)__s + 0x394) = 1;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = 1" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" * (cast_expression "(undefined4 *)((int)__s + 0x394)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x394)" ( (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" identifier = number_literal) ;) })) (expression_statement "iVar3 = FUN_0004f070(uVar2);" (assignment_expression "iVar3 = FUN_0004f070(uVar2)" identifier = (call_expression "FUN_0004f070(uVar2)" identifier (argument_list "(uVar2)" ( identifier )))) ;) (expression_statement "*(int *)((int)__s + 0x398) = iVar3;" (assignment_expression "*(int *)((int)__s + 0x398) = iVar3" (pointer_expression "*(int *)((int)__s + 0x398)" * (cast_expression "(int *)((int)__s + 0x398)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x398)" ( (binary_expression "(int)__s + 0x398" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }" { (expression_statement "iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");" (assignment_expression "iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE")" identifier = (call_expression "GetEnvironmentValue("MAGICK_SYNCHRONIZE")" identifier (argument_list "("MAGICK_SYNCHRONIZE")" ( (string_literal ""MAGICK_SYNCHRONIZE"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" { (expression_statement "uVar4 = IsStringTrue(iVar3);" (assignment_expression "uVar4 = IsStringTrue(iVar3)" identifier = (call_expression "IsStringTrue(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23dc) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23dc) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23dc)" * (cast_expression "(undefined4 *)((int)__s + 0x23dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23dc)" ( (binary_expression "(int)__s + 0x23dc" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "DestroyString(iVar3);" (call_expression "DestroyString(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) })) (expression_statement "iVar3 = GetPolicyValue("cache:synchronize");" (assignment_expression "iVar3 = GetPolicyValue("cache:synchronize")" identifier = (call_expression "GetPolicyValue("cache:synchronize")" identifier (argument_list "("cache:synchronize")" ( (string_literal ""cache:synchronize"" " string_content ") )))) ;) (if_statement "if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" { (expression_statement "uVar4 = IsStringTrue(iVar3);" (assignment_expression "uVar4 = IsStringTrue(iVar3)" identifier = (call_expression "IsStringTrue(iVar3)" identifier (argument_list "(iVar3)" ( identifier )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23dc) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23dc) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23dc)" * (cast_expression "(undefined4 *)((int)__s + 0x23dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23dc)" ( (binary_expression "(int)__s + 0x23dc" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "DestroyString(iVar3);" (call_expression "DestroyString(iVar3)" identifier (argument_list "(iVar3)" ( identifier ))) ;) })) (expression_statement "uVar7 = GetMagickResourceLimit(10);" (assignment_expression "uVar7 = GetMagickResourceLimit(10)" identifier = (call_expression "GetMagickResourceLimit(10)" identifier (argument_list "(10)" ( number_literal )))) ;) (expression_statement "*(undefined8 *)((int)__s + 0x2404) = uVar7;" (assignment_expression "*(undefined8 *)((int)__s + 0x2404) = uVar7" (pointer_expression "*(undefined8 *)((int)__s + 0x2404)" * (cast_expression "(undefined8 *)((int)__s + 0x2404)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x2404)" ( (binary_expression "(int)__s + 0x2404" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar7 = GetMagickResourceLimit(4);" (assignment_expression "uVar7 = GetMagickResourceLimit(4)" identifier = (call_expression "GetMagickResourceLimit(4)" identifier (argument_list "(4)" ( number_literal )))) ;) (expression_statement "*(undefined8 *)((int)__s + 0x240c) = uVar7;" (assignment_expression "*(undefined8 *)((int)__s + 0x240c) = uVar7" (pointer_expression "*(undefined8 *)((int)__s + 0x240c)" * (cast_expression "(undefined8 *)((int)__s + 0x240c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x240c)" ( (binary_expression "(int)__s + 0x240c" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = AcquireSemaphoreInfo();" (assignment_expression "uVar4 = AcquireSemaphoreInfo()" identifier = (call_expression "AcquireSemaphoreInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23e8) = 1;" (assignment_expression "*(undefined4 *)((int)__s + 0x23e8) = 1" (pointer_expression "*(undefined4 *)((int)__s + 0x23e8)" * (cast_expression "(undefined4 *)((int)__s + 0x23e8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23e8)" ( (binary_expression "(int)__s + 0x23e8" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23ec) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23ec) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23ec)" * (cast_expression "(undefined4 *)((int)__s + 0x23ec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23ec)" ( (binary_expression "(int)__s + 0x23ec" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = AcquireSemaphoreInfo();" (assignment_expression "uVar4 = AcquireSemaphoreInfo()" identifier = (call_expression "AcquireSemaphoreInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23f0) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23f0) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23f0)" * (cast_expression "(undefined4 *)((int)__s + 0x23f0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23f0)" ( (binary_expression "(int)__s + 0x23f0" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "uVar4 = IsEventLogging();" (assignment_expression "uVar4 = IsEventLogging()" identifier = (call_expression "IsEventLogging()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;" (assignment_expression "*(undefined4 *)((int)__s + 0x23f8) = 0xabacadab" (pointer_expression "*(undefined4 *)((int)__s + 0x23f8)" * (cast_expression "(undefined4 *)((int)__s + 0x23f8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23f8)" ( (binary_expression "(int)__s + 0x23f8" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)__s + 0x23e0) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23e0) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23e0)" * (cast_expression "(undefined4 *)((int)__s + 0x23e0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)__s + 0x23e0)" ( (binary_expression "(int)__s + 0x23e0" (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return __s;" return identifier ;) })) (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" identifier = (call_expression "AcquireExceptionInfo()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" identifier = (call_expression "GetExceptionMessage(*piVar5)" identifier (argument_list "(*piVar5)" ( (pointer_expression "*piVar5" * identifier) )))) ;) (expression_statement "uVar8 = 0xd6;" (assignment_expression "uVar8 = 0xd6" identifier = number_literal) ;) }))) (expression_statement "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);" (call_expression "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6)" identifier (argument_list "(uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""AcquirePixelCache"" " string_content ") , identifier , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "DestroyString(uVar6);" (call_expression "DestroyString(uVar6)" identifier (argument_list "(uVar6)" ( 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , 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 (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) )) || (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = 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 "void * FUN_0004f1c0(undefined4 param_1)\n\n{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined4 uVar8;\n  \n  __s = (void *)AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);\n  DestroyString(uVar6);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" (primitive_type "void") (pointer_declarator "* FUN_0004f1c0(undefined4 param_1)" (* "*") (function_declarator "FUN_0004f1c0(undefined4 param_1)" (identifier "FUN_0004f1c0") (parameter_list "(undefined4 param_1)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) () ")")))) (compound_statement "{\n  void *__s;\n  pthread_t pVar1;\n  uint uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  int *piVar5;\n  undefined4 uVar6;\n  undefined8 uVar7;\n  undefined4 uVar8;\n  \n  __s = (void *)AcquireAlignedMemory(1,0x2414);\n  if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }\n  ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);\n  DestroyString(uVar6);\n  CatchException(uVar4);\n  DestroyExceptionInfo(uVar4);\n  MagickCoreTerminus();\n                    \n  _exit(1);\n}" ({ "{") (declaration "void *__s;" (primitive_type "void") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "pthread_t pVar1;" (type_identifier "pthread_t") (identifier "pVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (expression_statement "__s = (void *)AcquireAlignedMemory(1,0x2414);" (assignment_expression "__s = (void *)AcquireAlignedMemory(1,0x2414)" (identifier "__s") (= "=") (cast_expression "(void *)AcquireAlignedMemory(1,0x2414)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireAlignedMemory(1,0x2414)" (identifier "AcquireAlignedMemory") (argument_list "(1,0x2414)" (( "(") (number_literal "1") (, ",") (number_literal "0x2414") () ")"))))) (; ";")) (if_statement "if (__s == (void *)0x0) {\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }\n  else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\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    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xc5;\n  }" ({ "{") (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" (identifier "uVar4") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" (identifier "uVar6") (= "=") (call_expression "GetExceptionMessage(*piVar5)" (identifier "GetExceptionMessage") (argument_list "(*piVar5)" (( "(") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) () ")")))) (; ";")) (expression_statement "uVar8 = 0xc5;" (assignment_expression "uVar8 = 0xc5" (identifier "uVar8") (= "=") (number_literal "0xc5")) (; ";")) (} "}")) (else_clause "else {\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }" (else "else") (compound_statement "{\n    memset(__s,0,0x2414);\n    *(undefined4 *)((int)__s + 4) = 0x17;\n    *(undefined4 *)((int)__s + 800) = 0;\n    *(undefined4 *)((int)__s + 0x324) = 2;\n    *(undefined4 *)((int)__s + 0x328) = 2;\n    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;\n    pVar1 = pthread_self();\n    *(pthread_t *)((int)__s + 0x23e4) = pVar1;\n    *(undefined4 *)((int)__s + 0x394) = param_1;\n    uVar2 = omp_get_max_threads();\n    if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }\n    uVar7 = GetMagickResourceLimit(7);\n    uVar2 = *(uint *)((int)__s + 0x394);\n    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }\n    if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }\n    iVar3 = FUN_0004f070(uVar2);\n    *(int *)((int)__s + 0x398) = iVar3;\n    if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }\n    uVar4 = AcquireExceptionInfo();\n    piVar5 = __errno_location();\n    uVar6 = GetExceptionMessage(*piVar5);\n    uVar8 = 0xd6;\n  }" ({ "{") (expression_statement "memset(__s,0,0x2414);" (call_expression "memset(__s,0,0x2414)" (identifier "memset") (argument_list "(__s,0,0x2414)" (( "(") (identifier "__s") (, ",") (number_literal "0") (, ",") (number_literal "0x2414") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 4) = 0x17;" (assignment_expression "*(undefined4 *)((int)__s + 4) = 0x17" (pointer_expression "*(undefined4 *)((int)__s + 4)" (* "*") (cast_expression "(undefined4 *)((int)__s + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 4)" (( "(") (binary_expression "(int)__s + 4" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0x17")) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 800) = 0;" (assignment_expression "*(undefined4 *)((int)__s + 800) = 0" (pointer_expression "*(undefined4 *)((int)__s + 800)" (* "*") (cast_expression "(undefined4 *)((int)__s + 800)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 800)" (( "(") (binary_expression "(int)__s + 800" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "800")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x324) = 2;" (assignment_expression "*(undefined4 *)((int)__s + 0x324) = 2" (pointer_expression "*(undefined4 *)((int)__s + 0x324)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x324)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x324)" (( "(") (binary_expression "(int)__s + 0x324" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x324")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x328) = 2;" (assignment_expression "*(undefined4 *)((int)__s + 0x328) = 2" (pointer_expression "*(undefined4 *)((int)__s + 0x328)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x328)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x328)" (( "(") (binary_expression "(int)__s + 0x328" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x328")) () ")")))) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)__s + 0x3a4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)__s + 0x3a4)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x3a4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x3a4)" (( "(") (binary_expression "(int)__s + 0x3a4" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x3a4")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "pVar1 = pthread_self();" (assignment_expression "pVar1 = pthread_self()" (identifier "pVar1") (= "=") (call_expression "pthread_self()" (identifier "pthread_self") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(pthread_t *)((int)__s + 0x23e4) = pVar1;" (assignment_expression "*(pthread_t *)((int)__s + 0x23e4) = pVar1" (pointer_expression "*(pthread_t *)((int)__s + 0x23e4)" (* "*") (cast_expression "(pthread_t *)((int)__s + 0x23e4)" (( "(") (type_descriptor "pthread_t *" (type_identifier "pthread_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x23e4)" (( "(") (binary_expression "(int)__s + 0x23e4" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x23e4")) () ")")))) (= "=") (identifier "pVar1")) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x394) = param_1;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = param_1" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x394)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x394)" (( "(") (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x394")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "uVar2 = omp_get_max_threads();" (assignment_expression "uVar2 = omp_get_max_threads()" (identifier "uVar2") (= "=") (call_expression "omp_get_max_threads()" (identifier "omp_get_max_threads") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*(uint *)((int)__s + 0x394) < uVar2) {\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }" (if "if") (parenthesized_expression "(*(uint *)((int)__s + 0x394) < uVar2)" (( "(") (binary_expression "*(uint *)((int)__s + 0x394) < uVar2" (pointer_expression "*(uint *)((int)__s + 0x394)" (* "*") (cast_expression "(uint *)((int)__s + 0x394)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x394)" (( "(") (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x394")) () ")")))) (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n      uVar4 = omp_get_max_threads();\n      *(undefined4 *)((int)__s + 0x394) = uVar4;\n    }" ({ "{") (expression_statement "uVar4 = omp_get_max_threads();" (assignment_expression "uVar4 = omp_get_max_threads()" (identifier "uVar4") (= "=") (call_expression "omp_get_max_threads()" (identifier "omp_get_max_threads") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x394) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x394)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x394)" (( "(") (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x394")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (} "}"))) (expression_statement "uVar7 = GetMagickResourceLimit(7);" (assignment_expression "uVar7 = GetMagickResourceLimit(7)" (identifier "uVar7") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "uVar2 = *(uint *)((int)__s + 0x394);" (assignment_expression "uVar2 = *(uint *)((int)__s + 0x394)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)((int)__s + 0x394)" (* "*") (cast_expression "(uint *)((int)__s + 0x394)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x394)" (( "(") (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x394")) () ")"))))) (; ";")) (if_statement "if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7))" (( "(") (binary_expression "((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)" (parenthesized_expression "((int)((ulonglong)uVar7 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar7 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar7 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar7 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar7 >> 0x20" (cast_expression "(ulonglong)uVar7" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar7")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar2 < (uint)uVar7)" (( "(") (binary_expression "uVar2 < (uint)uVar7" (identifier "uVar2") (< "<") (cast_expression "(uint)uVar7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar7"))) () ")"))) () ")")) (compound_statement "{\n      uVar2 = GetMagickResourceLimit(7);\n      *(uint *)((int)__s + 0x394) = uVar2;\n    }" ({ "{") (expression_statement "uVar2 = GetMagickResourceLimit(7);" (assignment_expression "uVar2 = GetMagickResourceLimit(7)" (identifier "uVar2") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "*(uint *)((int)__s + 0x394) = uVar2;" (assignment_expression "*(uint *)((int)__s + 0x394) = uVar2" (pointer_expression "*(uint *)((int)__s + 0x394)" (* "*") (cast_expression "(uint *)((int)__s + 0x394)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x394)" (( "(") (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x394")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (} "}"))) (if_statement "if (uVar2 == 0) {\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }" (if "if") (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)__s + 0x394) = 1;\n      uVar2 = 1;\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)__s + 0x394) = 1;" (assignment_expression "*(undefined4 *)((int)__s + 0x394) = 1" (pointer_expression "*(undefined4 *)((int)__s + 0x394)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x394)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x394)" (( "(") (binary_expression "(int)__s + 0x394" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x394")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar2 = 1;" (assignment_expression "uVar2 = 1" (identifier "uVar2") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "iVar3 = FUN_0004f070(uVar2);" (assignment_expression "iVar3 = FUN_0004f070(uVar2)" (identifier "iVar3") (= "=") (call_expression "FUN_0004f070(uVar2)" (identifier "FUN_0004f070") (argument_list "(uVar2)" (( "(") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "*(int *)((int)__s + 0x398) = iVar3;" (assignment_expression "*(int *)((int)__s + 0x398) = iVar3" (pointer_expression "*(int *)((int)__s + 0x398)" (* "*") (cast_expression "(int *)((int)__s + 0x398)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x398)" (( "(") (binary_expression "(int)__s + 0x398" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x398")) () ")")))) (= "=") (identifier "iVar3")) (; ";")) (if_statement "if (iVar3 != 0) {\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      iVar3 = GetPolicyValue("cache:synchronize");\n      if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }\n      uVar7 = GetMagickResourceLimit(10);\n      *(undefined8 *)((int)__s + 0x2404) = uVar7;\n      uVar7 = GetMagickResourceLimit(4);\n      *(undefined8 *)((int)__s + 0x240c) = uVar7;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23e8) = 1;\n      *(undefined4 *)((int)__s + 0x23ec) = uVar4;\n      uVar4 = AcquireSemaphoreInfo();\n      *(undefined4 *)((int)__s + 0x23f0) = uVar4;\n      uVar4 = IsEventLogging();\n      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;\n      *(undefined4 *)((int)__s + 0x23e0) = uVar4;\n      return __s;\n    }" ({ "{") (expression_statement "iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");" (assignment_expression "iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE")" (identifier "iVar3") (= "=") (call_expression "GetEnvironmentValue("MAGICK_SYNCHRONIZE")" (identifier "GetEnvironmentValue") (argument_list "("MAGICK_SYNCHRONIZE")" (( "(") (string_literal ""MAGICK_SYNCHRONIZE"" (" """) (string_content "MAGICK_SYNCHRONIZE") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" ({ "{") (expression_statement "uVar4 = IsStringTrue(iVar3);" (assignment_expression "uVar4 = IsStringTrue(iVar3)" (identifier "uVar4") (= "=") (call_expression "IsStringTrue(iVar3)" (identifier "IsStringTrue") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x23dc) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23dc) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23dc)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x23dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x23dc)" (( "(") (binary_expression "(int)__s + 0x23dc" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x23dc")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "DestroyString(iVar3);" (call_expression "DestroyString(iVar3)" (identifier "DestroyString") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar3 = GetPolicyValue("cache:synchronize");" (assignment_expression "iVar3 = GetPolicyValue("cache:synchronize")" (identifier "iVar3") (= "=") (call_expression "GetPolicyValue("cache:synchronize")" (identifier "GetPolicyValue") (argument_list "("cache:synchronize")" (( "(") (string_literal ""cache:synchronize"" (" """) (string_content "cache:synchronize") (" """)) () ")")))) (; ";")) (if_statement "if (iVar3 != 0) {\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" (if "if") (parenthesized_expression "(iVar3 != 0)" (( "(") (binary_expression "iVar3 != 0" (identifier "iVar3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar4 = IsStringTrue(iVar3);\n        *(undefined4 *)((int)__s + 0x23dc) = uVar4;\n        DestroyString(iVar3);\n      }" ({ "{") (expression_statement "uVar4 = IsStringTrue(iVar3);" (assignment_expression "uVar4 = IsStringTrue(iVar3)" (identifier "uVar4") (= "=") (call_expression "IsStringTrue(iVar3)" (identifier "IsStringTrue") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x23dc) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23dc) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23dc)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x23dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x23dc)" (( "(") (binary_expression "(int)__s + 0x23dc" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x23dc")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "DestroyString(iVar3);" (call_expression "DestroyString(iVar3)" (identifier "DestroyString") (argument_list "(iVar3)" (( "(") (identifier "iVar3") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = GetMagickResourceLimit(10);" (assignment_expression "uVar7 = GetMagickResourceLimit(10)" (identifier "uVar7") (= "=") (call_expression "GetMagickResourceLimit(10)" (identifier "GetMagickResourceLimit") (argument_list "(10)" (( "(") (number_literal "10") () ")")))) (; ";")) (expression_statement "*(undefined8 *)((int)__s + 0x2404) = uVar7;" (assignment_expression "*(undefined8 *)((int)__s + 0x2404) = uVar7" (pointer_expression "*(undefined8 *)((int)__s + 0x2404)" (* "*") (cast_expression "(undefined8 *)((int)__s + 0x2404)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x2404)" (( "(") (binary_expression "(int)__s + 0x2404" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x2404")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar7 = GetMagickResourceLimit(4);" (assignment_expression "uVar7 = GetMagickResourceLimit(4)" (identifier "uVar7") (= "=") (call_expression "GetMagickResourceLimit(4)" (identifier "GetMagickResourceLimit") (argument_list "(4)" (( "(") (number_literal "4") () ")")))) (; ";")) (expression_statement "*(undefined8 *)((int)__s + 0x240c) = uVar7;" (assignment_expression "*(undefined8 *)((int)__s + 0x240c) = uVar7" (pointer_expression "*(undefined8 *)((int)__s + 0x240c)" (* "*") (cast_expression "(undefined8 *)((int)__s + 0x240c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x240c)" (( "(") (binary_expression "(int)__s + 0x240c" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x240c")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "uVar4 = AcquireSemaphoreInfo();" (assignment_expression "uVar4 = AcquireSemaphoreInfo()" (identifier "uVar4") (= "=") (call_expression "AcquireSemaphoreInfo()" (identifier "AcquireSemaphoreInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x23e8) = 1;" (assignment_expression "*(undefined4 *)((int)__s + 0x23e8) = 1" (pointer_expression "*(undefined4 *)((int)__s + 0x23e8)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x23e8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x23e8)" (( "(") (binary_expression "(int)__s + 0x23e8" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x23e8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x23ec) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23ec) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23ec)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x23ec)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x23ec)" (( "(") (binary_expression "(int)__s + 0x23ec" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x23ec")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = AcquireSemaphoreInfo();" (assignment_expression "uVar4 = AcquireSemaphoreInfo()" (identifier "uVar4") (= "=") (call_expression "AcquireSemaphoreInfo()" (identifier "AcquireSemaphoreInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x23f0) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23f0) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23f0)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x23f0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x23f0)" (( "(") (binary_expression "(int)__s + 0x23f0" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x23f0")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar4 = IsEventLogging();" (assignment_expression "uVar4 = IsEventLogging()" (identifier "uVar4") (= "=") (call_expression "IsEventLogging()" (identifier "IsEventLogging") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;" (assignment_expression "*(undefined4 *)((int)__s + 0x23f8) = 0xabacadab" (pointer_expression "*(undefined4 *)((int)__s + 0x23f8)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x23f8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x23f8)" (( "(") (binary_expression "(int)__s + 0x23f8" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x23f8")) () ")")))) (= "=") (number_literal "0xabacadab")) (; ";")) (expression_statement "*(undefined4 *)((int)__s + 0x23e0) = uVar4;" (assignment_expression "*(undefined4 *)((int)__s + 0x23e0) = uVar4" (pointer_expression "*(undefined4 *)((int)__s + 0x23e0)" (* "*") (cast_expression "(undefined4 *)((int)__s + 0x23e0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)__s + 0x23e0)" (( "(") (binary_expression "(int)__s + 0x23e0" (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s")) (+ "+") (number_literal "0x23e0")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (return_statement "return __s;" (return "return") (identifier "__s") (; ";")) (} "}"))) (expression_statement "uVar4 = AcquireExceptionInfo();" (assignment_expression "uVar4 = AcquireExceptionInfo()" (identifier "uVar4") (= "=") (call_expression "AcquireExceptionInfo()" (identifier "AcquireExceptionInfo") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar5 = __errno_location();" (assignment_expression "piVar5 = __errno_location()" (identifier "piVar5") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar6 = GetExceptionMessage(*piVar5);" (assignment_expression "uVar6 = GetExceptionMessage(*piVar5)" (identifier "uVar6") (= "=") (call_expression "GetExceptionMessage(*piVar5)" (identifier "GetExceptionMessage") (argument_list "(*piVar5)" (( "(") (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) () ")")))) (; ";")) (expression_statement "uVar8 = 0xd6;" (assignment_expression "uVar8 = 0xd6" (identifier "uVar8") (= "=") (number_literal "0xd6")) (; ";")) (} "}")))) (expression_statement "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6);" (call_expression "ThrowMagickException\n            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6)" (identifier "ThrowMagickException") (argument_list "(uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",\n             "`%s\'",uVar6)" (( "(") (identifier "uVar4") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""AcquirePixelCache"" (" """) (string_content "AcquirePixelCache") (" """)) (, ",") (identifier "uVar8") (, ",") (number_literal "700") (, ",") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "DestroyString(uVar6);" (call_expression "DestroyString(uVar6)" (identifier "DestroyString") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (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 number_threads)

{
  void *var_2;
  type_2 pVar1;
  type_3 var_9;
  type_4 **var_13;
  char *var_15;
  type_5 MVar5;
  type_6 *pSVar6;
  type_7 uVar7;
  type_8 *exception;
  int *piVar8;
  type_9 var_11;
  size_t line;
  
  var_2 = var_1(1,0x2414);
  if (var_2 == (void *)0x0) {
    exception = var_3();
    piVar8 = var_4();
    var_15 = var_5(*piVar8);
    line = 0xc5;
  }
  else {
    var_6(var_2,0,0x2414);
    *(type_7 *)((int)var_2 + 4) = 0x17;
    *(type_7 *)((int)var_2 + 800) = 0;
    *(type_7 *)((int)var_2 + 0x324) = 2;
    *(type_7 *)((int)var_2 + 0x328) = 2;
    *(type_7 *)((int)var_2 + 0x3a4) = 0xffffffff;
    pVar1 = var_7();
    *(type_2 *)((int)var_2 + 0x23e4) = pVar1;
    *(size_t *)((int)var_2 + 0x394) = number_threads;
    var_9 = var_8();
    if (*(type_3 *)((int)var_2 + 0x394) < var_9) {
      uVar7 = var_8();
      *(type_7 *)((int)var_2 + 0x394) = uVar7;
    }
    var_11 = var_10(ThreadResource);
    var_9 = *(type_3 *)((int)var_2 + 0x394);
    if ((0xffffffff < var_11) || (var_9 < (type_3)var_11)) {
      var_11 = var_10(ThreadResource);
      var_9 = (type_3)var_11;
      *(type_3 *)((int)var_2 + 0x394) = var_9;
    }
    if (var_9 == 0) {
      *(type_7 *)((int)var_2 + 0x394) = 1;
      var_9 = 1;
    }
    var_13 = var_12(var_9);
    *(type_4 ***)((int)var_2 + 0x398) = var_13;
    if (var_13 != (type_4 **)0x0) {
      var_15 = var_14("MAGICK_SYNCHRONIZE");
      if (var_15 != (char *)0x0) {
        MVar5 = var_16(var_15);
        *(type_5 *)((int)var_2 + 0x23dc) = MVar5;
        var_17(var_15);
      }
      var_15 = var_18("cache:synchronize");
      if (var_15 != (char *)0x0) {
        MVar5 = var_16(var_15);
        *(type_5 *)((int)var_2 + 0x23dc) = MVar5;
        var_17(var_15);
      }
      var_11 = var_10(WidthResource);
      *(type_9 *)((int)var_2 + 0x2404) = var_11;
      var_11 = var_10(HeightResource);
      *(type_9 *)((int)var_2 + 0x240c) = var_11;
      pSVar6 = var_19();
      *(type_7 *)((int)var_2 + 0x23e8) = 1;
      *(type_6 **)((int)var_2 + 0x23ec) = pSVar6;
      pSVar6 = var_19();
      *(type_6 **)((int)var_2 + 0x23f0) = pSVar6;
      MVar5 = var_20();
      *(type_7 *)((int)var_2 + 0x23f8) = 0xabacadab;
      *(type_5 *)((int)var_2 + 0x23e0) = MVar5;
      return var_2;
    }
    exception = var_3();
    piVar8 = var_4();
    var_15 = var_5(*piVar8);
    line = 0xd6;
  }
  var_21
            (exception,"MagickCore/cache.c","AcquirePixelCache",line,FatalErrorException,
             "MemoryAllocationFailed","`%s\'",var_15);
  var_17(var_15);
  var_22(exception);
  var_23(exception);
  var_24();
                    /* WARNING: Subroutine does not return */
  var_25(1);
}


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

void * MASKED(undefined4 param_1)

{
  void *__s;
  pthread_t pVar1;
  uint uVar2;
  int iVar3;
  undefined4 uVar4;
  int *piVar5;
  undefined4 uVar6;
  undefined8 uVar7;
  undefined4 uVar8;
  
  __s = (void *)AcquireAlignedMemory(1,0x2414);
  if (__s == (void *)0x0) {
    uVar4 = AcquireExceptionInfo();
    piVar5 = __errno_location();
    uVar6 = GetExceptionMessage(*piVar5);
    uVar8 = 0xc5;
  }
  else {
    memset(__s,0,0x2414);
    *(undefined4 *)((int)__s + 4) = 0x17;
    *(undefined4 *)((int)__s + 800) = 0;
    *(undefined4 *)((int)__s + 0x324) = 2;
    *(undefined4 *)((int)__s + 0x328) = 2;
    *(undefined4 *)((int)__s + 0x3a4) = 0xffffffff;
    pVar1 = pthread_self();
    *(pthread_t *)((int)__s + 0x23e4) = pVar1;
    *(undefined4 *)((int)__s + 0x394) = param_1;
    uVar2 = omp_get_max_threads();
    if (*(uint *)((int)__s + 0x394) < uVar2) {
      uVar4 = omp_get_max_threads();
      *(undefined4 *)((int)__s + 0x394) = uVar4;
    }
    uVar7 = GetMagickResourceLimit(7);
    uVar2 = *(uint *)((int)__s + 0x394);
    if (((int)((ulonglong)uVar7 >> 0x20) != 0) || (uVar2 < (uint)uVar7)) {
      uVar2 = GetMagickResourceLimit(7);
      *(uint *)((int)__s + 0x394) = uVar2;
    }
    if (uVar2 == 0) {
      *(undefined4 *)((int)__s + 0x394) = 1;
      uVar2 = 1;
    }
    iVar3 = FUN_0004f070(uVar2);
    *(int *)((int)__s + 0x398) = iVar3;
    if (iVar3 != 0) {
      iVar3 = GetEnvironmentValue("MAGICK_SYNCHRONIZE");
      if (iVar3 != 0) {
        uVar4 = IsStringTrue(iVar3);
        *(undefined4 *)((int)__s + 0x23dc) = uVar4;
        DestroyString(iVar3);
      }
      iVar3 = GetPolicyValue("cache:synchronize");
      if (iVar3 != 0) {
        uVar4 = IsStringTrue(iVar3);
        *(undefined4 *)((int)__s + 0x23dc) = uVar4;
        DestroyString(iVar3);
      }
      uVar7 = GetMagickResourceLimit(10);
      *(undefined8 *)((int)__s + 0x2404) = uVar7;
      uVar7 = GetMagickResourceLimit(4);
      *(undefined8 *)((int)__s + 0x240c) = uVar7;
      uVar4 = AcquireSemaphoreInfo();
      *(undefined4 *)((int)__s + 0x23e8) = 1;
      *(undefined4 *)((int)__s + 0x23ec) = uVar4;
      uVar4 = AcquireSemaphoreInfo();
      *(undefined4 *)((int)__s + 0x23f0) = uVar4;
      uVar4 = IsEventLogging();
      *(undefined4 *)((int)__s + 0x23f8) = 0xabacadab;
      *(undefined4 *)((int)__s + 0x23e0) = uVar4;
      return __s;
    }
    uVar4 = AcquireExceptionInfo();
    piVar5 = __errno_location();
    uVar6 = GetExceptionMessage(*piVar5);
    uVar8 = 0xd6;
  }
  ThrowMagickException
            (uVar4,"MagickCore/cache.c","AcquirePixelCache",uVar8,700,"MemoryAllocationFailed",
             "`%s\'",uVar6);
  DestroyString(uVar6);
  CatchException(uVar4);
  DestroyExceptionInfo(uVar4);
  MagickCoreTerminus();
                    /* WARNING: Subroutine does not return */
  _exit(1);
}

