
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */

Image * NewMagickImage(ImageInfo *image_info,size_t width,size_t height,PixelInfo *background,
                      ExceptionInfo *exception)

{
  size_t sVar1;
  bool bVar2;
  int iVar3;
  CacheType CVar4;
  Image *image;
  CacheView *cache_view;
  MagickSizeType MVar5;
  MagickSizeType MVar6;
  size_t sVar7;
  long in_FS_OFFSET;
  PixelInfo *local_58;
  ExceptionInfo *local_50;
  CacheView *local_48;
  Image *local_40;
  int local_38;
  long local_30;
  
  local_30 = *(long *)(in_FS_OFFSET + 0x28);
  if (image_info == (ImageInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,
                  "NewMagickImage");
  }
  if (image_info->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...");
  }
  if (image_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,
                  "NewMagickImage");
  }
  if (background == (PixelInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,
                  "NewMagickImage");
  }
  image = AcquireImage(image_info,exception);
  image->columns = width;
  image->rows = height;
  image->colorspace = background->colorspace;
  image->alpha_trait = background->alpha_trait;
  image->fuzz = background->fuzz;
  image->depth = background->depth;
  cache_view = AcquireAuthenticCacheView(image,exception);
  CVar4 = GetImagePixelCacheType(image);
  if (((CVar4 == MemoryCache) || (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)) &&
     ((CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||
      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)))) {
    MVar5 = GetMagickResourceLimit(ThreadResource);
    sVar1 = image->rows;
    sVar7 = sVar1 + 0x3f;
    if (-1 < (long)sVar1) {
      sVar7 = sVar1;
    }
    bVar2 = 0x7f < (long)sVar1;
    if ((long)MVar5 < (long)sVar7 >> 6) {
      MVar5 = GetMagickResourceLimit(ThreadResource);
      bVar2 = 1 < (long)MVar5;
    }
    MVar5 = 1;
    if (bVar2) {
      MVar6 = GetMagickResourceLimit(ThreadResource);
      sVar1 = image->rows;
      sVar7 = sVar1 + 0x3f;
      if (-1 < (long)sVar1) {
        sVar7 = sVar1;
      }
      MVar5 = (long)sVar7 >> 6;
      if ((long)MVar6 < (long)MVar5) {
        MVar5 = GetMagickResourceLimit(ThreadResource);
      }
    }
  }
  else {
    MVar5 = GetMagickResourceLimit(ThreadResource);
    if (MVar5 < 2) {
      MVar6 = GetMagickResourceLimit(ThreadResource);
      MVar5 = 1;
      if (MVar6 < 2) goto LAB_00221721;
    }
    MVar6 = GetMagickResourceLimit(ThreadResource);
    MVar5 = 2;
    if (MVar6 < 2) {
      MVar5 = GetMagickResourceLimit(ThreadResource);
    }
  }
LAB_00221721:
  local_38 = 1;
  local_58 = background;
  local_50 = exception;
  local_48 = cache_view;
  local_40 = image;
  GOMP_parallel(NewMagickImage__omp_fn_3,&local_58,MVar5,0);
  iVar3 = local_38;
  DestroyCacheView(cache_view);
  if (iVar3 == 0) {
    image = DestroyImage(image);
  }
  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return image;
}



long NewMagickImage(long param_1,undefined8 param_2,undefined8 param_3,long param_4,
                   undefined8 param_5)

{
  bool bVar1;
  int iVar2;
  long lVar3;
  undefined8 uVar4;
  ulong uVar5;
  long lVar6;
  long lVar7;
  long lVar8;
  long in_FS_OFFSET;
  long local_58;
  undefined8 local_50;
  undefined8 local_48;
  long local_40;
  int local_38;
  long local_30;
  
  local_30 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,
                  "NewMagickImage");
  }
  if (*(int *)(param_1 + 0x3270) != 0) {
    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");
  }
  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,
                  "NewMagickImage");
  }
  if (param_4 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,
                  "NewMagickImage");
  }
  lVar3 = AcquireImage(param_1,param_5);
  *(undefined8 *)(lVar3 + 0x20) = param_2;
  *(undefined8 *)(lVar3 + 0x28) = param_3;
  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);
  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);
  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);
  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);
  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);
  iVar2 = GetImagePixelCacheType(lVar3);
  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&
     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||
      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {
    lVar6 = GetMagickResourceLimit(7);
    lVar7 = *(long *)(lVar3 + 0x28);
    lVar8 = lVar7 + 0x3f;
    if (-1 < lVar7) {
      lVar8 = lVar7;
    }
    bVar1 = 0x7f < lVar7;
    if (lVar6 < lVar8 >> 6) {
      lVar7 = GetMagickResourceLimit(7);
      bVar1 = 1 < lVar7;
    }
    lVar7 = 1;
    if (bVar1) {
      lVar6 = GetMagickResourceLimit(7);
      lVar8 = *(long *)(lVar3 + 0x28);
      lVar7 = lVar8 + 0x3f;
      if (-1 < lVar8) {
        lVar7 = lVar8;
      }
      lVar7 = lVar7 >> 6;
      if (lVar6 < lVar7) {
        lVar7 = GetMagickResourceLimit(7);
      }
    }
  }
  else {
    uVar5 = GetMagickResourceLimit(7);
    if (uVar5 < 2) {
      uVar5 = GetMagickResourceLimit(7);
      lVar7 = 1;
      if (uVar5 < 2) goto LAB_00221721;
    }
    uVar5 = GetMagickResourceLimit(7);
    lVar7 = 2;
    if (uVar5 < 2) {
      lVar7 = GetMagickResourceLimit(7);
    }
  }
LAB_00221721:
  local_38 = 1;
  local_58 = param_4;
  local_50 = param_5;
  local_48 = uVar4;
  local_40 = lVar3;
  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);
  iVar2 = local_38;
  DestroyCacheView(uVar4);
  if (iVar2 == 0) {
    lVar3 = DestroyImage(lVar3);
  }
  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return lVar3;
}


PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x30
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x28],RAX
XOR EAX,EAX
TEST RDI,RDI
JZ 0x00221788
MOV RBX,RDI
MOV R14,RSI
MOV R13,RDX
MOV RBP,RCX
MOV R12,R8
CMP dword ptr [RDI + 0x3270],0x0
JNZ 0x002217a7
MOV EAX,0xabacadab
CMP qword ptr [RBX + 0x3278],RAX
JNZ 0x002217d5
TEST RBP,RBP
JZ 0x002217f4
MOV RSI,R12
MOV RDI,RBX
CALL 0x0014ab00
MOV RBX,RAX
MOV qword ptr [RAX + 0x20],R14
MOV qword ptr [RAX + 0x28],R13
MOV EAX,dword ptr [RBP + 0x4]
MOV dword ptr [RBX + 0x4],EAX
MOV EAX,dword ptr [RBP + 0x8]
MOV dword ptr [RBX + 0x33c],EAX
MOVSD XMM0,qword ptr [RBP + 0x10]
MOVSD qword ptr [RBX + 0x298],XMM0
MOV RAX,qword ptr [RBP + 0x18]
MOV qword ptr [RBX + 0x30],RAX
MOV RSI,R12
MOV RDI,RBX
CALL 0x0014cd50
MOV R13,RAX
MOV RDI,RBX
CALL 0x0014b110
CMP EAX,0x4
JZ 0x00221813
MOV RDI,RBX
CALL 0x0014b110
CMP EAX,0x3
JZ 0x00221813
MOV EDI,0x7
CALL 0x0014c170
CMP RAX,0x1
JBE 0x002218a2
MOV EDI,0x7
CALL 0x0014c170
MOV EDX,0x2
CMP RAX,0x1
JBE 0x002218c0
MOV qword ptr [RSP + 0x18],RBX
MOV qword ptr [RSP + 0x10],R13
MOV qword ptr [RSP + 0x8],R12
MOV qword ptr [RSP],RBP
MOV dword ptr [RSP + 0x20],0x1
MOV RSI,RSP
MOV ECX,0x0
LEA RDI,[0x21aa95]
CALL 0x0014bf70
MOV EBP,dword ptr [RSP + 0x20]
MOV RDI,R13
CALL 0x0014cc70
TEST EBP,EBP
JZ 0x002218e8
MOV RAX,RBX
MOV RCX,qword ptr [RSP + 0x28]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x002218f8
ADD RSP,0x30
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
LEA RCX,[0x420b18]
MOV EDX,0x7fa
LEA RSI,[0x4204fb]
LEA RDI,[0x3f8cf0]
CALL 0x0014a360
LEA R8,[0x3fdacc]
MOV ECX,0x7fc
LEA RDX,[0x420b08]
LEA RSI,[0x4204fb]
MOV EDI,0x8000
MOV EAX,0x0
CALL 0x0014be20
JMP 0x0022166f
LEA RCX,[0x420b18]
MOV EDX,0x7fd
LEA RSI,[0x4204fb]
LEA RDI,[0x3f8d18]
CALL 0x0014a360
LEA RCX,[0x420b18]
MOV EDX,0x7fe
LEA RSI,[0x4204fb]
LEA RDI,[0x420730]
CALL 0x0014a360
MOV RDI,RBX
CALL 0x0014b110
CMP EAX,0x4
JZ 0x00221831
MOV RDI,RBX
CALL 0x0014b110
CMP EAX,0x3
JNZ 0x002216f4
MOV EDI,0x7
CALL 0x0014c170
MOV RCX,qword ptr [RBX + 0x28]
LEA RDX,[RCX + 0x3f]
TEST RCX,RCX
CMOVNS RDX,RCX
SAR RDX,0x6
CMP RCX,0x7f
SETG CL
CMP RAX,RDX
JL 0x002218d2
MOV EDX,0x1
TEST CL,CL
JZ 0x00221721
MOV EDI,0x7
CALL 0x0014c170
MOV RDX,qword ptr [RBX + 0x28]
LEA RCX,[RDX + 0x3f]
TEST RDX,RDX
CMOVNS RCX,RDX
SAR RCX,0x6
MOV RDX,RCX
CMP RAX,RCX
JGE 0x00221721
MOV EDI,0x7
CALL 0x0014c170
MOV RDX,RAX
JMP 0x00221721
MOV EDI,0x7
CALL 0x0014c170
MOV EDX,0x1
CMP RAX,0x1
JA 0x00221708
JMP 0x00221721
MOV EDI,0x7
CALL 0x0014c170
MOV RDX,RAX
JMP 0x00221721
MOV EDI,0x7
CALL 0x0014c170
CMP RAX,0x1
SETG CL
JMP 0x0022185a
MOV RDI,RBX
CALL 0x0014caa0
MOV RBX,RAX
JMP 0x00221764
CALL 0x0014c5c0
(translation_unit "long NewMagickImage(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  long lVar3;\n  undefined8 uVar4;\n  ulong uVar5;\n  long lVar6;\n  long lVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  long local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (param_4 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  lVar3 = AcquireImage(param_1,param_5);\n  *(undefined8 *)(lVar3 + 0x20) = param_2;\n  *(undefined8 *)(lVar3 + 0x28) = param_3;\n  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);\n  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);\n  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);\n  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);\n  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);\n  iVar2 = GetImagePixelCacheType(lVar3);\n  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = uVar4;\n  local_40 = lVar3;\n  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);\n  iVar2 = local_38;\n  DestroyCacheView(uVar4);\n  if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return lVar3;\n}\n\n" (function_definition "long NewMagickImage(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  long lVar3;\n  undefined8 uVar4;\n  ulong uVar5;\n  long lVar6;\n  long lVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  long local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (param_4 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  lVar3 = AcquireImage(param_1,param_5);\n  *(undefined8 *)(lVar3 + 0x20) = param_2;\n  *(undefined8 *)(lVar3 + 0x28) = param_3;\n  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);\n  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);\n  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);\n  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);\n  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);\n  iVar2 = GetImagePixelCacheType(lVar3);\n  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = uVar4;\n  local_40 = lVar3;\n  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);\n  iVar2 = local_38;\n  DestroyCacheView(uVar4);\n  if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return lVar3;\n}" (sized_type_specifier "long" long) (function_declarator "NewMagickImage(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  long lVar3;\n  undefined8 uVar4;\n  ulong uVar5;\n  long lVar6;\n  long lVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  long local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (param_4 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  lVar3 = AcquireImage(param_1,param_5);\n  *(undefined8 *)(lVar3 + 0x20) = param_2;\n  *(undefined8 *)(lVar3 + 0x28) = param_3;\n  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);\n  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);\n  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);\n  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);\n  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);\n  iVar2 = GetImagePixelCacheType(lVar3);\n  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = uVar4;\n  local_40 = lVar3;\n  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);\n  iVar2 = local_38;\n  DestroyCacheView(uVar4);\n  if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return lVar3;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""NewMagickImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3270) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3270) != 0" (pointer_expression "*(int *)(param_1 + 0x3270)" * (cast_expression "(int *)(param_1 + 0x3270)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3270)" ( (binary_expression "param_1 + 0x3270" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");" (call_expression "LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...")" identifier (argument_list "(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...")" ( number_literal , (string_literal ""MagickCore/image.c"" " string_content ") , (string_literal ""NewMagickImage"" " string_content ") , number_literal , (string_literal ""..."" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x3278) != 0xabacadab)" ( (binary_expression "*(long *)(param_1 + 0x3278) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3278)" * (cast_expression "(long *)(param_1 + 0x3278)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3278)" ( (binary_expression "param_1 + 0x3278" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""NewMagickImage"" " string_content ") ))) ;) })) (if_statement "if (param_4 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }" { comment (expression_statement "__assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");" (call_expression "__assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage")" identifier (argument_list "("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage")" ( (string_literal ""background != (const PixelInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""NewMagickImage"" " string_content ") ))) ;) })) (expression_statement "lVar3 = AcquireImage(param_1,param_5);" (assignment_expression "lVar3 = AcquireImage(param_1,param_5)" identifier = (call_expression "AcquireImage(param_1,param_5)" identifier (argument_list "(param_1,param_5)" ( identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(lVar3 + 0x20) = param_2;" (assignment_expression "*(undefined8 *)(lVar3 + 0x20) = param_2" (pointer_expression "*(undefined8 *)(lVar3 + 0x20)" * (cast_expression "(undefined8 *)(lVar3 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x20)" ( (binary_expression "lVar3 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar3 + 0x28) = param_3;" (assignment_expression "*(undefined8 *)(lVar3 + 0x28) = param_3" (pointer_expression "*(undefined8 *)(lVar3 + 0x28)" * (cast_expression "(undefined8 *)(lVar3 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x28)" ( (binary_expression "lVar3 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);" (assignment_expression "*(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4)" (pointer_expression "*(undefined4 *)(lVar3 + 4)" * (cast_expression "(undefined4 *)(lVar3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 4)" ( (binary_expression "lVar3 + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_4 + 4)" * (cast_expression "(undefined4 *)(param_4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);" (assignment_expression "*(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8)" (pointer_expression "*(undefined4 *)(lVar3 + 0x33c)" * (cast_expression "(undefined4 *)(lVar3 + 0x33c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x33c)" ( (binary_expression "lVar3 + 0x33c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_4 + 8)" * (cast_expression "(undefined4 *)(param_4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);" (assignment_expression "*(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10)" (pointer_expression "*(undefined8 *)(lVar3 + 0x298)" * (cast_expression "(undefined8 *)(lVar3 + 0x298)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x298)" ( (binary_expression "lVar3 + 0x298" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_4 + 0x10)" * (cast_expression "(undefined8 *)(param_4 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);" (assignment_expression "*(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18)" (pointer_expression "*(undefined8 *)(lVar3 + 0x30)" * (cast_expression "(undefined8 *)(lVar3 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x30)" ( (binary_expression "lVar3 + 0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_4 + 0x18)" * (cast_expression "(undefined8 *)(param_4 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x18)" ( (binary_expression "param_4 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = AcquireAuthenticCacheView(lVar3,param_5);" (assignment_expression "uVar4 = AcquireAuthenticCacheView(lVar3,param_5)" identifier = (call_expression "AcquireAuthenticCacheView(lVar3,param_5)" identifier (argument_list "(lVar3,param_5)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = GetImagePixelCacheType(lVar3);" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" identifier = (call_expression "GetImagePixelCacheType(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" ( (comma_expression "iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" identifier = (call_expression "GetImagePixelCacheType(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3))" ( (comma_expression "iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" identifier = (call_expression "GetImagePixelCacheType(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" ( (comma_expression "iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" identifier = (call_expression "GetImagePixelCacheType(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }" { (expression_statement "lVar6 = GetMagickResourceLimit(7);" (assignment_expression "lVar6 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar7 = *(long *)(lVar3 + 0x28);" (assignment_expression "lVar7 = *(long *)(lVar3 + 0x28)" identifier = (pointer_expression "*(long *)(lVar3 + 0x28)" * (cast_expression "(long *)(lVar3 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x28)" ( (binary_expression "lVar3 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar8 = lVar7 + 0x3f;" (assignment_expression "lVar8 = lVar7 + 0x3f" identifier = (binary_expression "lVar7 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }" if (parenthesized_expression "(-1 < lVar7)" ( (binary_expression "-1 < lVar7" number_literal < identifier) )) (compound_statement "{\n      lVar8 = lVar7;\n    }" { (expression_statement "lVar8 = lVar7;" (assignment_expression "lVar8 = lVar7" identifier = identifier) ;) })) (expression_statement "bVar1 = 0x7f < lVar7;" (assignment_expression "bVar1 = 0x7f < lVar7" identifier = (binary_expression "0x7f < lVar7" number_literal < identifier)) ;) (if_statement "if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }" if (parenthesized_expression "(lVar6 < lVar8 >> 6)" ( (binary_expression "lVar6 < lVar8 >> 6" identifier < (binary_expression "lVar8 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }" { (expression_statement "lVar7 = GetMagickResourceLimit(7);" (assignment_expression "lVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "bVar1 = 1 < lVar7;" (assignment_expression "bVar1 = 1 < lVar7" identifier = (binary_expression "1 < lVar7" number_literal < identifier)) ;) })) (expression_statement "lVar7 = 1;" (assignment_expression "lVar7 = 1" identifier = number_literal) ;) (if_statement "if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }" { (expression_statement "lVar6 = GetMagickResourceLimit(7);" (assignment_expression "lVar6 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar8 = *(long *)(lVar3 + 0x28);" (assignment_expression "lVar8 = *(long *)(lVar3 + 0x28)" identifier = (pointer_expression "*(long *)(lVar3 + 0x28)" * (cast_expression "(long *)(lVar3 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x28)" ( (binary_expression "lVar3 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar7 = lVar8 + 0x3f;" (assignment_expression "lVar7 = lVar8 + 0x3f" identifier = (binary_expression "lVar8 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }" if (parenthesized_expression "(-1 < lVar8)" ( (binary_expression "-1 < lVar8" number_literal < identifier) )) (compound_statement "{\n        lVar7 = lVar8;\n      }" { (expression_statement "lVar7 = lVar8;" (assignment_expression "lVar7 = lVar8" identifier = identifier) ;) })) (expression_statement "lVar7 = lVar7 >> 6;" (assignment_expression "lVar7 = lVar7 >> 6" identifier = (binary_expression "lVar7 >> 6" identifier >> number_literal)) ;) (if_statement "if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }" if (parenthesized_expression "(lVar6 < lVar7)" ( (binary_expression "lVar6 < lVar7" identifier < identifier) )) (compound_statement "{\n        lVar7 = GetMagickResourceLimit(7);\n      }" { (expression_statement "lVar7 = GetMagickResourceLimit(7);" (assignment_expression "lVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) })) }) (else_clause "else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }" else (compound_statement "{\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }" { (expression_statement "uVar5 = GetMagickResourceLimit(7);" (assignment_expression "uVar5 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }" if (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) (compound_statement "{\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }" { (expression_statement "uVar5 = GetMagickResourceLimit(7);" (assignment_expression "uVar5 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar7 = 1;" (assignment_expression "lVar7 = 1" identifier = number_literal) ;) (if_statement "if (uVar5 < 2) goto LAB_00221721;" if (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) (goto_statement "goto LAB_00221721;" goto statement_identifier ;)) })) (expression_statement "uVar5 = GetMagickResourceLimit(7);" (assignment_expression "uVar5 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" identifier = number_literal) ;) (if_statement "if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }" if (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) (compound_statement "{\n      lVar7 = GetMagickResourceLimit(7);\n    }" { (expression_statement "lVar7 = GetMagickResourceLimit(7);" (assignment_expression "lVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) }))) (labeled_statement "LAB_00221721:\n  local_38 = 1;" statement_identifier : (expression_statement "local_38 = 1;" (assignment_expression "local_38 = 1" identifier = number_literal) ;)) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "local_50 = param_5;" (assignment_expression "local_50 = param_5" identifier = identifier) ;) (expression_statement "local_48 = uVar4;" (assignment_expression "local_48 = uVar4" identifier = identifier) ;) (expression_statement "local_40 = lVar3;" (assignment_expression "local_40 = lVar3" identifier = identifier) ;) (expression_statement "GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);" (call_expression "GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0)" identifier (argument_list "(FUN_0021aa95,&local_58,lVar7,0)" ( identifier , (pointer_expression "&local_58" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar2 = local_38;" (assignment_expression "iVar2 = local_38" identifier = identifier) ;) (expression_statement "DestroyCacheView(uVar4);" (call_expression "DestroyCacheView(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (if_statement "if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    lVar3 = DestroyImage(lVar3);\n  }" { (expression_statement "lVar3 = DestroyImage(lVar3);" (assignment_expression "lVar3 = DestroyImage(lVar3)" identifier = (call_expression "DestroyImage(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) ;) })) (if_statement "if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_30 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_30 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return lVar3;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "LogEventType": Some values do not have unique names */\n\nImage * NewMagickImage(ImageInfo *image_info,size_t width,size_t height,PixelInfo *background,\n                      ExceptionInfo *exception)\n\n{\n  size_t sVar1;\n  bool bVar2;\n  int iVar3;\n  CacheType CVar4;\n  Image *image;\n  CacheView *cache_view;\n  MagickSizeType MVar5;\n  MagickSizeType MVar6;\n  size_t sVar7;\n  long in_FS_OFFSET;\n  PixelInfo *local_58;\n  ExceptionInfo *local_50;\n  CacheView *local_48;\n  Image *local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (background == (PixelInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  image = AcquireImage(image_info,exception);\n  image->columns = width;\n  image->rows = height;\n  image->colorspace = background->colorspace;\n  image->alpha_trait = background->alpha_trait;\n  image->fuzz = background->fuzz;\n  image->depth = background->depth;\n  cache_view = AcquireAuthenticCacheView(image,exception);\n  CVar4 = GetImagePixelCacheType(image);\n  if (((CVar4 == MemoryCache) || (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)) &&\n     ((CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)))) {\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = image->rows;\n    sVar7 = sVar1 + 0x3f;\n    if (-1 < (long)sVar1) {\n      sVar7 = sVar1;\n    }\n    bVar2 = 0x7f < (long)sVar1;\n    if ((long)MVar5 < (long)sVar7 >> 6) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (long)MVar5;\n    }\n    MVar5 = 1;\n    if (bVar2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = image->rows;\n      sVar7 = sVar1 + 0x3f;\n      if (-1 < (long)sVar1) {\n        sVar7 = sVar1;\n      }\n      MVar5 = (long)sVar7 >> 6;\n      if ((long)MVar6 < (long)MVar5) {\n        MVar5 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }\n  else {\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    if (MVar5 < 2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      MVar5 = 1;\n      if (MVar6 < 2) goto LAB_00221721;\n    }\n    MVar6 = GetMagickResourceLimit(ThreadResource);\n    MVar5 = 2;\n    if (MVar6 < 2) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = background;\n  local_50 = exception;\n  local_48 = cache_view;\n  local_40 = image;\n  GOMP_parallel(NewMagickImage__omp_fn_3,&local_58,MVar5,0);\n  iVar3 = local_38;\n  DestroyCacheView(cache_view);\n  if (iVar3 == 0) {\n    image = DestroyImage(image);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return image;\n}\n\n" comment comment comment comment comment comment (function_definition "Image * NewMagickImage(ImageInfo *image_info,size_t width,size_t height,PixelInfo *background,\n                      ExceptionInfo *exception)\n\n{\n  size_t sVar1;\n  bool bVar2;\n  int iVar3;\n  CacheType CVar4;\n  Image *image;\n  CacheView *cache_view;\n  MagickSizeType MVar5;\n  MagickSizeType MVar6;\n  size_t sVar7;\n  long in_FS_OFFSET;\n  PixelInfo *local_58;\n  ExceptionInfo *local_50;\n  CacheView *local_48;\n  Image *local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (background == (PixelInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  image = AcquireImage(image_info,exception);\n  image->columns = width;\n  image->rows = height;\n  image->colorspace = background->colorspace;\n  image->alpha_trait = background->alpha_trait;\n  image->fuzz = background->fuzz;\n  image->depth = background->depth;\n  cache_view = AcquireAuthenticCacheView(image,exception);\n  CVar4 = GetImagePixelCacheType(image);\n  if (((CVar4 == MemoryCache) || (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)) &&\n     ((CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)))) {\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = image->rows;\n    sVar7 = sVar1 + 0x3f;\n    if (-1 < (long)sVar1) {\n      sVar7 = sVar1;\n    }\n    bVar2 = 0x7f < (long)sVar1;\n    if ((long)MVar5 < (long)sVar7 >> 6) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (long)MVar5;\n    }\n    MVar5 = 1;\n    if (bVar2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = image->rows;\n      sVar7 = sVar1 + 0x3f;\n      if (-1 < (long)sVar1) {\n        sVar7 = sVar1;\n      }\n      MVar5 = (long)sVar7 >> 6;\n      if ((long)MVar6 < (long)MVar5) {\n        MVar5 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }\n  else {\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    if (MVar5 < 2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      MVar5 = 1;\n      if (MVar6 < 2) goto LAB_00221721;\n    }\n    MVar6 = GetMagickResourceLimit(ThreadResource);\n    MVar5 = 2;\n    if (MVar6 < 2) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = background;\n  local_50 = exception;\n  local_48 = cache_view;\n  local_40 = image;\n  GOMP_parallel(NewMagickImage__omp_fn_3,&local_58,MVar5,0);\n  iVar3 = local_38;\n  DestroyCacheView(cache_view);\n  if (iVar3 == 0) {\n    image = DestroyImage(image);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return image;\n}" type_identifier (pointer_declarator "* NewMagickImage(ImageInfo *image_info,size_t width,size_t height,PixelInfo *background,\n                      ExceptionInfo *exception)" * (function_declarator "NewMagickImage(ImageInfo *image_info,size_t width,size_t height,PixelInfo *background,\n                      ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,size_t width,size_t height,PixelInfo *background,\n                      ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "size_t width" primitive_type identifier) , (parameter_declaration "size_t height" primitive_type identifier) , (parameter_declaration "PixelInfo *background" type_identifier (pointer_declarator "*background" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) )))) (compound_statement "{\n  size_t sVar1;\n  bool bVar2;\n  int iVar3;\n  CacheType CVar4;\n  Image *image;\n  CacheView *cache_view;\n  MagickSizeType MVar5;\n  MagickSizeType MVar6;\n  size_t sVar7;\n  long in_FS_OFFSET;\n  PixelInfo *local_58;\n  ExceptionInfo *local_50;\n  CacheView *local_48;\n  Image *local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (background == (PixelInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  image = AcquireImage(image_info,exception);\n  image->columns = width;\n  image->rows = height;\n  image->colorspace = background->colorspace;\n  image->alpha_trait = background->alpha_trait;\n  image->fuzz = background->fuzz;\n  image->depth = background->depth;\n  cache_view = AcquireAuthenticCacheView(image,exception);\n  CVar4 = GetImagePixelCacheType(image);\n  if (((CVar4 == MemoryCache) || (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)) &&\n     ((CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)))) {\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = image->rows;\n    sVar7 = sVar1 + 0x3f;\n    if (-1 < (long)sVar1) {\n      sVar7 = sVar1;\n    }\n    bVar2 = 0x7f < (long)sVar1;\n    if ((long)MVar5 < (long)sVar7 >> 6) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (long)MVar5;\n    }\n    MVar5 = 1;\n    if (bVar2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = image->rows;\n      sVar7 = sVar1 + 0x3f;\n      if (-1 < (long)sVar1) {\n        sVar7 = sVar1;\n      }\n      MVar5 = (long)sVar7 >> 6;\n      if ((long)MVar6 < (long)MVar5) {\n        MVar5 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }\n  else {\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    if (MVar5 < 2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      MVar5 = 1;\n      if (MVar6 < 2) goto LAB_00221721;\n    }\n    MVar6 = GetMagickResourceLimit(ThreadResource);\n    MVar5 = 2;\n    if (MVar6 < 2) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = background;\n  local_50 = exception;\n  local_48 = cache_view;\n  local_40 = image;\n  GOMP_parallel(NewMagickImage__omp_fn_3,&local_58,MVar5,0);\n  iVar3 = local_38;\n  DestroyCacheView(cache_view);\n  if (iVar3 == 0) {\n    image = DestroyImage(image);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return image;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "CacheType CVar4;" type_identifier identifier ;) (declaration "Image *image;" type_identifier (pointer_declarator "*image" * identifier) ;) (declaration "CacheView *cache_view;" type_identifier (pointer_declarator "*cache_view" * identifier) ;) (declaration "MagickSizeType MVar5;" type_identifier identifier ;) (declaration "MagickSizeType MVar6;" type_identifier identifier ;) (declaration "size_t sVar7;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "PixelInfo *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "ExceptionInfo *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "CacheView *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "Image *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }" if (parenthesized_expression "(image_info == (ImageInfo *)0x0)" ( (binary_expression "image_info == (ImageInfo *)0x0" identifier == (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""NewMagickImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }" if (parenthesized_expression "(image_info->debug != MagickFalse)" ( (binary_expression "image_info->debug != MagickFalse" (field_expression "image_info->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    LogMagickEvent(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...");" (call_expression "LogMagickEvent(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...")" identifier (argument_list "(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...")" ( identifier , (string_literal ""MagickCore/image.c"" " string_content ") , (string_literal ""NewMagickImage"" " string_content ") , number_literal , (string_literal ""..."" " string_content ") ))) ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }" if (parenthesized_expression "(image_info->signature != 0xabacadab)" ( (binary_expression "image_info->signature != 0xabacadab" (field_expression "image_info->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""NewMagickImage"" " string_content ") ))) ;) })) (if_statement "if (background == (PixelInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }" if (parenthesized_expression "(background == (PixelInfo *)0x0)" ( (binary_expression "background == (PixelInfo *)0x0" identifier == (cast_expression "(PixelInfo *)0x0" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }" { comment (expression_statement "__assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");" (call_expression "__assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage")" identifier (argument_list "("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage")" ( (string_literal ""background != (const PixelInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""NewMagickImage"" " string_content ") ))) ;) })) (expression_statement "image = AcquireImage(image_info,exception);" (assignment_expression "image = AcquireImage(image_info,exception)" identifier = (call_expression "AcquireImage(image_info,exception)" identifier (argument_list "(image_info,exception)" ( identifier , identifier )))) ;) (expression_statement "image->columns = width;" (assignment_expression "image->columns = width" (field_expression "image->columns" identifier -> field_identifier) = identifier) ;) (expression_statement "image->rows = height;" (assignment_expression "image->rows = height" (field_expression "image->rows" identifier -> field_identifier) = identifier) ;) (expression_statement "image->colorspace = background->colorspace;" (assignment_expression "image->colorspace = background->colorspace" (field_expression "image->colorspace" identifier -> field_identifier) = (field_expression "background->colorspace" identifier -> field_identifier)) ;) (expression_statement "image->alpha_trait = background->alpha_trait;" (assignment_expression "image->alpha_trait = background->alpha_trait" (field_expression "image->alpha_trait" identifier -> field_identifier) = (field_expression "background->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "image->fuzz = background->fuzz;" (assignment_expression "image->fuzz = background->fuzz" (field_expression "image->fuzz" identifier -> field_identifier) = (field_expression "background->fuzz" identifier -> field_identifier)) ;) (expression_statement "image->depth = background->depth;" (assignment_expression "image->depth = background->depth" (field_expression "image->depth" identifier -> field_identifier) = (field_expression "background->depth" identifier -> field_identifier)) ;) (expression_statement "cache_view = AcquireAuthenticCacheView(image,exception);" (assignment_expression "cache_view = AcquireAuthenticCacheView(image,exception)" identifier = (call_expression "AcquireAuthenticCacheView(image,exception)" identifier (argument_list "(image,exception)" ( identifier , identifier )))) ;) (expression_statement "CVar4 = GetImagePixelCacheType(image);" (assignment_expression "CVar4 = GetImagePixelCacheType(image)" identifier = (call_expression "GetImagePixelCacheType(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if (((CVar4 == MemoryCache) || (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)) &&\n     ((CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)))) {\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = image->rows;\n    sVar7 = sVar1 + 0x3f;\n    if (-1 < (long)sVar1) {\n      sVar7 = sVar1;\n    }\n    bVar2 = 0x7f < (long)sVar1;\n    if ((long)MVar5 < (long)sVar7 >> 6) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (long)MVar5;\n    }\n    MVar5 = 1;\n    if (bVar2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = image->rows;\n      sVar7 = sVar1 + 0x3f;\n      if (-1 < (long)sVar1) {\n        sVar7 = sVar1;\n      }\n      MVar5 = (long)sVar7 >> 6;\n      if ((long)MVar6 < (long)MVar5) {\n        MVar5 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }\n  else {\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    if (MVar5 < 2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      MVar5 = 1;\n      if (MVar6 < 2) goto LAB_00221721;\n    }\n    MVar6 = GetMagickResourceLimit(ThreadResource);\n    MVar5 = 2;\n    if (MVar6 < 2) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n    }\n  }" if (parenthesized_expression "(((CVar4 == MemoryCache) || (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)) &&\n     ((CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache))))" ( (binary_expression "((CVar4 == MemoryCache) || (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)) &&\n     ((CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)))" (parenthesized_expression "((CVar4 == MemoryCache) || (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache))" ( (binary_expression "(CVar4 == MemoryCache) || (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)" (parenthesized_expression "(CVar4 == MemoryCache)" ( (binary_expression "CVar4 == MemoryCache" identifier == identifier) )) || (parenthesized_expression "(CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)" ( (comma_expression "CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache" (assignment_expression "CVar4 = GetImagePixelCacheType(image)" identifier = (call_expression "GetImagePixelCacheType(image)" identifier (argument_list "(image)" ( identifier )))) , (binary_expression "CVar4 == MapCache" identifier == identifier)) ))) )) && (parenthesized_expression "((CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)))" ( (parenthesized_expression "(CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache))" ( (comma_expression "CVar4 = GetImagePixelCacheType(image), CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)" (assignment_expression "CVar4 = GetImagePixelCacheType(image)" identifier = (call_expression "GetImagePixelCacheType(image)" identifier (argument_list "(image)" ( identifier )))) , (binary_expression "CVar4 == MemoryCache ||\n      (CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)" (binary_expression "CVar4 == MemoryCache" identifier == identifier) || (parenthesized_expression "(CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache)" ( (comma_expression "CVar4 = GetImagePixelCacheType(image), CVar4 == MapCache" (assignment_expression "CVar4 = GetImagePixelCacheType(image)" identifier = (call_expression "GetImagePixelCacheType(image)" identifier (argument_list "(image)" ( identifier )))) , (binary_expression "CVar4 == MapCache" identifier == identifier)) )))) )) ))) )) (compound_statement "{\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = image->rows;\n    sVar7 = sVar1 + 0x3f;\n    if (-1 < (long)sVar1) {\n      sVar7 = sVar1;\n    }\n    bVar2 = 0x7f < (long)sVar1;\n    if ((long)MVar5 < (long)sVar7 >> 6) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (long)MVar5;\n    }\n    MVar5 = 1;\n    if (bVar2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = image->rows;\n      sVar7 = sVar1 + 0x3f;\n      if (-1 < (long)sVar1) {\n        sVar7 = sVar1;\n      }\n      MVar5 = (long)sVar7 >> 6;\n      if ((long)MVar6 < (long)MVar5) {\n        MVar5 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }" { (expression_statement "MVar5 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar5 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "sVar1 = image->rows;" (assignment_expression "sVar1 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) (expression_statement "sVar7 = sVar1 + 0x3f;" (assignment_expression "sVar7 = sVar1 + 0x3f" identifier = (binary_expression "sVar1 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < (long)sVar1) {\n      sVar7 = sVar1;\n    }" if (parenthesized_expression "(-1 < (long)sVar1)" ( (binary_expression "-1 < (long)sVar1" number_literal < (cast_expression "(long)sVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n      sVar7 = sVar1;\n    }" { (expression_statement "sVar7 = sVar1;" (assignment_expression "sVar7 = sVar1" identifier = identifier) ;) })) (expression_statement "bVar2 = 0x7f < (long)sVar1;" (assignment_expression "bVar2 = 0x7f < (long)sVar1" identifier = (binary_expression "0x7f < (long)sVar1" number_literal < (cast_expression "(long)sVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if ((long)MVar5 < (long)sVar7 >> 6) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (long)MVar5;\n    }" if (parenthesized_expression "((long)MVar5 < (long)sVar7 >> 6)" ( (binary_expression "(long)MVar5 < (long)sVar7 >> 6" (cast_expression "(long)MVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < (binary_expression "(long)sVar7 >> 6" (cast_expression "(long)sVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) )) (compound_statement "{\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (long)MVar5;\n    }" { (expression_statement "MVar5 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar5 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "bVar2 = 1 < (long)MVar5;" (assignment_expression "bVar2 = 1 < (long)MVar5" identifier = (binary_expression "1 < (long)MVar5" number_literal < (cast_expression "(long)MVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) })) (expression_statement "MVar5 = 1;" (assignment_expression "MVar5 = 1" identifier = number_literal) ;) (if_statement "if (bVar2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = image->rows;\n      sVar7 = sVar1 + 0x3f;\n      if (-1 < (long)sVar1) {\n        sVar7 = sVar1;\n      }\n      MVar5 = (long)sVar7 >> 6;\n      if ((long)MVar6 < (long)MVar5) {\n        MVar5 = GetMagickResourceLimit(ThreadResource);\n      }\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = image->rows;\n      sVar7 = sVar1 + 0x3f;\n      if (-1 < (long)sVar1) {\n        sVar7 = sVar1;\n      }\n      MVar5 = (long)sVar7 >> 6;\n      if ((long)MVar6 < (long)MVar5) {\n        MVar5 = GetMagickResourceLimit(ThreadResource);\n      }\n    }" { (expression_statement "MVar6 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar6 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "sVar1 = image->rows;" (assignment_expression "sVar1 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) (expression_statement "sVar7 = sVar1 + 0x3f;" (assignment_expression "sVar7 = sVar1 + 0x3f" identifier = (binary_expression "sVar1 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < (long)sVar1) {\n        sVar7 = sVar1;\n      }" if (parenthesized_expression "(-1 < (long)sVar1)" ( (binary_expression "-1 < (long)sVar1" number_literal < (cast_expression "(long)sVar1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n        sVar7 = sVar1;\n      }" { (expression_statement "sVar7 = sVar1;" (assignment_expression "sVar7 = sVar1" identifier = identifier) ;) })) (expression_statement "MVar5 = (long)sVar7 >> 6;" (assignment_expression "MVar5 = (long)sVar7 >> 6" identifier = (binary_expression "(long)sVar7 >> 6" (cast_expression "(long)sVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if ((long)MVar6 < (long)MVar5) {\n        MVar5 = GetMagickResourceLimit(ThreadResource);\n      }" if (parenthesized_expression "((long)MVar6 < (long)MVar5)" ( (binary_expression "(long)MVar6 < (long)MVar5" (cast_expression "(long)MVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < (cast_expression "(long)MVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n        MVar5 = GetMagickResourceLimit(ThreadResource);\n      }" { (expression_statement "MVar5 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar5 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) })) })) }) (else_clause "else {\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    if (MVar5 < 2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      MVar5 = 1;\n      if (MVar6 < 2) goto LAB_00221721;\n    }\n    MVar6 = GetMagickResourceLimit(ThreadResource);\n    MVar5 = 2;\n    if (MVar6 < 2) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n    }\n  }" else (compound_statement "{\n    MVar5 = GetMagickResourceLimit(ThreadResource);\n    if (MVar5 < 2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      MVar5 = 1;\n      if (MVar6 < 2) goto LAB_00221721;\n    }\n    MVar6 = GetMagickResourceLimit(ThreadResource);\n    MVar5 = 2;\n    if (MVar6 < 2) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n    }\n  }" { (expression_statement "MVar5 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar5 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (if_statement "if (MVar5 < 2) {\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      MVar5 = 1;\n      if (MVar6 < 2) goto LAB_00221721;\n    }" if (parenthesized_expression "(MVar5 < 2)" ( (binary_expression "MVar5 < 2" identifier < number_literal) )) (compound_statement "{\n      MVar6 = GetMagickResourceLimit(ThreadResource);\n      MVar5 = 1;\n      if (MVar6 < 2) goto LAB_00221721;\n    }" { (expression_statement "MVar6 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar6 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "MVar5 = 1;" (assignment_expression "MVar5 = 1" identifier = number_literal) ;) (if_statement "if (MVar6 < 2) goto LAB_00221721;" if (parenthesized_expression "(MVar6 < 2)" ( (binary_expression "MVar6 < 2" identifier < number_literal) )) (goto_statement "goto LAB_00221721;" goto statement_identifier ;)) })) (expression_statement "MVar6 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar6 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "MVar5 = 2;" (assignment_expression "MVar5 = 2" identifier = number_literal) ;) (if_statement "if (MVar6 < 2) {\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n    }" if (parenthesized_expression "(MVar6 < 2)" ( (binary_expression "MVar6 < 2" identifier < number_literal) )) (compound_statement "{\n      MVar5 = GetMagickResourceLimit(ThreadResource);\n    }" { (expression_statement "MVar5 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar5 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) })) }))) (labeled_statement "LAB_00221721:\n  local_38 = 1;" statement_identifier : (expression_statement "local_38 = 1;" (assignment_expression "local_38 = 1" identifier = number_literal) ;)) (expression_statement "local_58 = background;" (assignment_expression "local_58 = background" identifier = identifier) ;) (expression_statement "local_50 = exception;" (assignment_expression "local_50 = exception" identifier = identifier) ;) (expression_statement "local_48 = cache_view;" (assignment_expression "local_48 = cache_view" identifier = identifier) ;) (expression_statement "local_40 = image;" (assignment_expression "local_40 = image" identifier = identifier) ;) (expression_statement "GOMP_parallel(NewMagickImage__omp_fn_3,&local_58,MVar5,0);" (call_expression "GOMP_parallel(NewMagickImage__omp_fn_3,&local_58,MVar5,0)" identifier (argument_list "(NewMagickImage__omp_fn_3,&local_58,MVar5,0)" ( identifier , (pointer_expression "&local_58" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar3 = local_38;" (assignment_expression "iVar3 = local_38" identifier = identifier) ;) (expression_statement "DestroyCacheView(cache_view);" (call_expression "DestroyCacheView(cache_view)" identifier (argument_list "(cache_view)" ( identifier ))) ;) (if_statement "if (iVar3 == 0) {\n    image = DestroyImage(image);\n  }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n    image = DestroyImage(image);\n  }" { (expression_statement "image = DestroyImage(image);" (assignment_expression "image = DestroyImage(image)" identifier = (call_expression "DestroyImage(image)" identifier (argument_list "(image)" ( identifier )))) ;) })) (if_statement "if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_30 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_30 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" { comment (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return image;" return identifier ;) })))
(translation_unit "long NewMagickImage(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  long lVar3;\n  undefined8 uVar4;\n  ulong uVar5;\n  long lVar6;\n  long lVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  long local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (param_4 == 0) {\n                    \n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  lVar3 = AcquireImage(param_1,param_5);\n  *(undefined8 *)(lVar3 + 0x20) = param_2;\n  *(undefined8 *)(lVar3 + 0x28) = param_3;\n  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);\n  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);\n  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);\n  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);\n  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);\n  iVar2 = GetImagePixelCacheType(lVar3);\n  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = uVar4;\n  local_40 = lVar3;\n  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);\n  iVar2 = local_38;\n  DestroyCacheView(uVar4);\n  if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar3;\n}\n\n" (function_definition "long NewMagickImage(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  long lVar3;\n  undefined8 uVar4;\n  ulong uVar5;\n  long lVar6;\n  long lVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  long local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (param_4 == 0) {\n                    \n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  lVar3 = AcquireImage(param_1,param_5);\n  *(undefined8 *)(lVar3 + 0x20) = param_2;\n  *(undefined8 *)(lVar3 + 0x28) = param_3;\n  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);\n  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);\n  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);\n  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);\n  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);\n  iVar2 = GetImagePixelCacheType(lVar3);\n  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = uVar4;\n  local_40 = lVar3;\n  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);\n  iVar2 = local_38;\n  DestroyCacheView(uVar4);\n  if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar3;\n}" (sized_type_specifier "long" long) (function_declarator "NewMagickImage(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined8 param_3" type_identifier identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  long lVar3;\n  undefined8 uVar4;\n  ulong uVar5;\n  long lVar6;\n  long lVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  long local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (param_4 == 0) {\n                    \n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  lVar3 = AcquireImage(param_1,param_5);\n  *(undefined8 *)(lVar3 + 0x20) = param_2;\n  *(undefined8 *)(lVar3 + 0x28) = param_3;\n  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);\n  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);\n  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);\n  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);\n  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);\n  iVar2 = GetImagePixelCacheType(lVar3);\n  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = uVar4;\n  local_40 = lVar3;\n  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);\n  iVar2 = local_38;\n  DestroyCacheView(uVar4);\n  if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar3;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "long lVar3;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar8;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "long local_30;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(long *)(in_FS_OFFSET + 0x28)" identifier = (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }" { (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""NewMagickImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3270) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3270) != 0" (pointer_expression "*(int *)(param_1 + 0x3270)" * (cast_expression "(int *)(param_1 + 0x3270)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3270)" ( (binary_expression "param_1 + 0x3270" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");" (call_expression "LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...")" identifier (argument_list "(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...")" ( number_literal , (string_literal ""MagickCore/image.c"" " string_content ") , (string_literal ""NewMagickImage"" " string_content ") , number_literal , (string_literal ""..."" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x3278) != 0xabacadab)" ( (binary_expression "*(long *)(param_1 + 0x3278) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3278)" * (cast_expression "(long *)(param_1 + 0x3278)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3278)" ( (binary_expression "param_1 + 0x3278" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }" { (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""NewMagickImage"" " string_content ") ))) ;) })) (if_statement "if (param_4 == 0) {\n                    \n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }" { (expression_statement "__assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");" (call_expression "__assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage")" identifier (argument_list "("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage")" ( (string_literal ""background != (const PixelInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/image.c"" " string_content ") , number_literal , (string_literal ""NewMagickImage"" " string_content ") ))) ;) })) (expression_statement "lVar3 = AcquireImage(param_1,param_5);" (assignment_expression "lVar3 = AcquireImage(param_1,param_5)" identifier = (call_expression "AcquireImage(param_1,param_5)" identifier (argument_list "(param_1,param_5)" ( identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(lVar3 + 0x20) = param_2;" (assignment_expression "*(undefined8 *)(lVar3 + 0x20) = param_2" (pointer_expression "*(undefined8 *)(lVar3 + 0x20)" * (cast_expression "(undefined8 *)(lVar3 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x20)" ( (binary_expression "lVar3 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar3 + 0x28) = param_3;" (assignment_expression "*(undefined8 *)(lVar3 + 0x28) = param_3" (pointer_expression "*(undefined8 *)(lVar3 + 0x28)" * (cast_expression "(undefined8 *)(lVar3 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x28)" ( (binary_expression "lVar3 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);" (assignment_expression "*(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4)" (pointer_expression "*(undefined4 *)(lVar3 + 4)" * (cast_expression "(undefined4 *)(lVar3 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 4)" ( (binary_expression "lVar3 + 4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_4 + 4)" * (cast_expression "(undefined4 *)(param_4 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);" (assignment_expression "*(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8)" (pointer_expression "*(undefined4 *)(lVar3 + 0x33c)" * (cast_expression "(undefined4 *)(lVar3 + 0x33c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x33c)" ( (binary_expression "lVar3 + 0x33c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_4 + 8)" * (cast_expression "(undefined4 *)(param_4 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 8)" ( (binary_expression "param_4 + 8" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);" (assignment_expression "*(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10)" (pointer_expression "*(undefined8 *)(lVar3 + 0x298)" * (cast_expression "(undefined8 *)(lVar3 + 0x298)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x298)" ( (binary_expression "lVar3 + 0x298" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_4 + 0x10)" * (cast_expression "(undefined8 *)(param_4 + 0x10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);" (assignment_expression "*(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18)" (pointer_expression "*(undefined8 *)(lVar3 + 0x30)" * (cast_expression "(undefined8 *)(lVar3 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x30)" ( (binary_expression "lVar3 + 0x30" identifier + number_literal) )))) = (pointer_expression "*(undefined8 *)(param_4 + 0x18)" * (cast_expression "(undefined8 *)(param_4 + 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x18)" ( (binary_expression "param_4 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = AcquireAuthenticCacheView(lVar3,param_5);" (assignment_expression "uVar4 = AcquireAuthenticCacheView(lVar3,param_5)" identifier = (call_expression "AcquireAuthenticCacheView(lVar3,param_5)" identifier (argument_list "(lVar3,param_5)" ( identifier , identifier )))) ;) (expression_statement "iVar2 = GetImagePixelCacheType(lVar3);" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" identifier = (call_expression "GetImagePixelCacheType(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) ;) (if_statement "if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }" if (parenthesized_expression "(((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3))))" ( (binary_expression "((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3))" ( (binary_expression "(iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" ( (binary_expression "iVar2 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" ( (comma_expression "iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" identifier = (call_expression "GetImagePixelCacheType(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))" ( (parenthesized_expression "(iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3))" ( (comma_expression "iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" identifier = (call_expression "GetImagePixelCacheType(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) , (binary_expression "iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (binary_expression "iVar2 == 4" identifier == number_literal) || (parenthesized_expression "(iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" ( (comma_expression "iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" identifier = (call_expression "GetImagePixelCacheType(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) , (binary_expression "iVar2 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }" { (expression_statement "lVar6 = GetMagickResourceLimit(7);" (assignment_expression "lVar6 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar7 = *(long *)(lVar3 + 0x28);" (assignment_expression "lVar7 = *(long *)(lVar3 + 0x28)" identifier = (pointer_expression "*(long *)(lVar3 + 0x28)" * (cast_expression "(long *)(lVar3 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x28)" ( (binary_expression "lVar3 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar8 = lVar7 + 0x3f;" (assignment_expression "lVar8 = lVar7 + 0x3f" identifier = (binary_expression "lVar7 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }" if (parenthesized_expression "(-1 < lVar7)" ( (binary_expression "-1 < lVar7" number_literal < identifier) )) (compound_statement "{\n      lVar8 = lVar7;\n    }" { (expression_statement "lVar8 = lVar7;" (assignment_expression "lVar8 = lVar7" identifier = identifier) ;) })) (expression_statement "bVar1 = 0x7f < lVar7;" (assignment_expression "bVar1 = 0x7f < lVar7" identifier = (binary_expression "0x7f < lVar7" number_literal < identifier)) ;) (if_statement "if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }" if (parenthesized_expression "(lVar6 < lVar8 >> 6)" ( (binary_expression "lVar6 < lVar8 >> 6" identifier < (binary_expression "lVar8 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }" { (expression_statement "lVar7 = GetMagickResourceLimit(7);" (assignment_expression "lVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "bVar1 = 1 < lVar7;" (assignment_expression "bVar1 = 1 < lVar7" identifier = (binary_expression "1 < lVar7" number_literal < identifier)) ;) })) (expression_statement "lVar7 = 1;" (assignment_expression "lVar7 = 1" identifier = number_literal) ;) (if_statement "if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }" { (expression_statement "lVar6 = GetMagickResourceLimit(7);" (assignment_expression "lVar6 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar8 = *(long *)(lVar3 + 0x28);" (assignment_expression "lVar8 = *(long *)(lVar3 + 0x28)" identifier = (pointer_expression "*(long *)(lVar3 + 0x28)" * (cast_expression "(long *)(lVar3 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar3 + 0x28)" ( (binary_expression "lVar3 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar7 = lVar8 + 0x3f;" (assignment_expression "lVar7 = lVar8 + 0x3f" identifier = (binary_expression "lVar8 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }" if (parenthesized_expression "(-1 < lVar8)" ( (binary_expression "-1 < lVar8" number_literal < identifier) )) (compound_statement "{\n        lVar7 = lVar8;\n      }" { (expression_statement "lVar7 = lVar8;" (assignment_expression "lVar7 = lVar8" identifier = identifier) ;) })) (expression_statement "lVar7 = lVar7 >> 6;" (assignment_expression "lVar7 = lVar7 >> 6" identifier = (binary_expression "lVar7 >> 6" identifier >> number_literal)) ;) (if_statement "if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }" if (parenthesized_expression "(lVar6 < lVar7)" ( (binary_expression "lVar6 < lVar7" identifier < identifier) )) (compound_statement "{\n        lVar7 = GetMagickResourceLimit(7);\n      }" { (expression_statement "lVar7 = GetMagickResourceLimit(7);" (assignment_expression "lVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) })) }) (else_clause "else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }" else (compound_statement "{\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }" { (expression_statement "uVar5 = GetMagickResourceLimit(7);" (assignment_expression "uVar5 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }" if (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) (compound_statement "{\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }" { (expression_statement "uVar5 = GetMagickResourceLimit(7);" (assignment_expression "uVar5 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar7 = 1;" (assignment_expression "lVar7 = 1" identifier = number_literal) ;) (if_statement "if (uVar5 < 2) goto LAB_00221721;" if (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) (goto_statement "goto LAB_00221721;" goto statement_identifier ;)) })) (expression_statement "uVar5 = GetMagickResourceLimit(7);" (assignment_expression "uVar5 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" identifier = number_literal) ;) (if_statement "if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }" if (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) (compound_statement "{\n      lVar7 = GetMagickResourceLimit(7);\n    }" { (expression_statement "lVar7 = GetMagickResourceLimit(7);" (assignment_expression "lVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) }))) (labeled_statement "LAB_00221721:\n  local_38 = 1;" statement_identifier : (expression_statement "local_38 = 1;" (assignment_expression "local_38 = 1" identifier = number_literal) ;)) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" identifier = identifier) ;) (expression_statement "local_50 = param_5;" (assignment_expression "local_50 = param_5" identifier = identifier) ;) (expression_statement "local_48 = uVar4;" (assignment_expression "local_48 = uVar4" identifier = identifier) ;) (expression_statement "local_40 = lVar3;" (assignment_expression "local_40 = lVar3" identifier = identifier) ;) (expression_statement "GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);" (call_expression "GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0)" identifier (argument_list "(FUN_0021aa95,&local_58,lVar7,0)" ( identifier , (pointer_expression "&local_58" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar2 = local_38;" (assignment_expression "iVar2 = local_38" identifier = identifier) ;) (expression_statement "DestroyCacheView(uVar4);" (call_expression "DestroyCacheView(uVar4)" identifier (argument_list "(uVar4)" ( identifier ))) ;) (if_statement "if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    lVar3 = DestroyImage(lVar3);\n  }" { (expression_statement "lVar3 = DestroyImage(lVar3);" (assignment_expression "lVar3 = DestroyImage(lVar3)" identifier = (call_expression "DestroyImage(lVar3)" identifier (argument_list "(lVar3)" ( identifier )))) ;) })) (if_statement "if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_30 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_30 != *(long *)(in_FS_OFFSET + 0x28)" identifier != (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" * (cast_expression "(long *)(in_FS_OFFSET + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_FS_OFFSET + 0x28)" ( (binary_expression "in_FS_OFFSET + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" { (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" identifier (argument_list "()" ( ))) ;) })) (return_statement "return lVar3;" return identifier ;) })))
(translation_unit (function_definition (sized_type_specifier long) (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT >> LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (return_statement return IDENT ;) })))
(function_definition "long NewMagickImage(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  long lVar3;\n  undefined8 uVar4;\n  ulong uVar5;\n  long lVar6;\n  long lVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  long local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (param_4 == 0) {\n                    \n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  lVar3 = AcquireImage(param_1,param_5);\n  *(undefined8 *)(lVar3 + 0x20) = param_2;\n  *(undefined8 *)(lVar3 + 0x28) = param_3;\n  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);\n  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);\n  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);\n  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);\n  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);\n  iVar2 = GetImagePixelCacheType(lVar3);\n  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = uVar4;\n  local_40 = lVar3;\n  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);\n  iVar2 = local_38;\n  DestroyCacheView(uVar4);\n  if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar3;\n}" (sized_type_specifier "long" (long "long")) (function_declarator "NewMagickImage(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)" (identifier "NewMagickImage") (parameter_list "(long param_1,undefined8 param_2,undefined8 param_3,long param_4,\n                   undefined8 param_5)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined8 param_3" (type_identifier "undefined8") (identifier "param_3")) (, ",") (parameter_declaration "long param_4" (sized_type_specifier "long" (long "long")) (identifier "param_4")) (, ",") (parameter_declaration "undefined8 param_5" (type_identifier "undefined8") (identifier "param_5")) () ")"))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  long lVar3;\n  undefined8 uVar4;\n  ulong uVar5;\n  long lVar6;\n  long lVar7;\n  long lVar8;\n  long in_FS_OFFSET;\n  long local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  long local_40;\n  int local_38;\n  long local_30;\n  \n  local_30 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }\n  if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }\n  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }\n  if (param_4 == 0) {\n                    \n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }\n  lVar3 = AcquireImage(param_1,param_5);\n  *(undefined8 *)(lVar3 + 0x20) = param_2;\n  *(undefined8 *)(lVar3 + 0x28) = param_3;\n  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);\n  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);\n  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);\n  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);\n  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);\n  iVar2 = GetImagePixelCacheType(lVar3);\n  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_00221721:\n  local_38 = 1;\n  local_58 = param_4;\n  local_50 = param_5;\n  local_48 = uVar4;\n  local_40 = lVar3;\n  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);\n  iVar2 = local_38;\n  DestroyCacheView(uVar4);\n  if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }\n  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar3;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "long lVar3;" (sized_type_specifier "long" (long "long")) (identifier "lVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "long lVar8;" (sized_type_specifier "long" (long "long")) (identifier "lVar8") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "long local_58;" (sized_type_specifier "long" (long "long")) (identifier "local_58") (; ";")) (declaration "undefined8 local_50;" (type_identifier "undefined8") (identifier "local_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "long local_30;" (sized_type_specifier "long" (long "long")) (identifier "local_30") (; ";")) (expression_statement "local_30 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_30 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_30") (= "=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage")" (identifier "__assert_fail") (argument_list "("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,\n                  "NewMagickImage")" (( "(") (string_literal ""image_info != (const ImageInfo *) NULL"" (" """) (string_content "image_info != (const ImageInfo *) NULL") (" """)) (, ",") (string_literal ""MagickCore/image.c"" (" """) (string_content "MagickCore/image.c") (" """)) (, ",") (number_literal "0x7fa") (, ",") (string_literal ""NewMagickImage"" (" """) (string_content "NewMagickImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3270) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3270) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3270) != 0" (pointer_expression "*(int *)(param_1 + 0x3270)" (* "*") (cast_expression "(int *)(param_1 + 0x3270)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3270)" (( "(") (binary_expression "param_1 + 0x3270" (identifier "param_1") (+ "+") (number_literal "0x3270")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...");" (call_expression "LogMagickEvent(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...")" (identifier "LogMagickEvent") (argument_list "(0x8000,"MagickCore/image.c","NewMagickImage",0x7fc,"...")" (( "(") (number_literal "0x8000") (, ",") (string_literal ""MagickCore/image.c"" (" """) (string_content "MagickCore/image.c") (" """)) (, ",") (string_literal ""NewMagickImage"" (" """) (string_content "NewMagickImage") (" """)) (, ",") (number_literal "0x7fc") (, ",") (string_literal ""..."" (" """) (string_content "...") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x3278) != 0xabacadab) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x3278) != 0xabacadab)" (( "(") (binary_expression "*(long *)(param_1 + 0x3278) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3278)" (* "*") (cast_expression "(long *)(param_1 + 0x3278)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3278)" (( "(") (binary_expression "param_1 + 0x3278" (identifier "param_1") (+ "+") (number_literal "0x3278")) () ")")))) (!= "!=") (number_literal "0xabacadab")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage");" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage")" (identifier "__assert_fail") (argument_list "("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,\n                  "NewMagickImage")" (( "(") (string_literal ""image_info->signature == MagickCoreSignature"" (" """) (string_content "image_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/image.c"" (" """) (string_content "MagickCore/image.c") (" """)) (, ",") (number_literal "0x7fd") (, ",") (string_literal ""NewMagickImage"" (" """) (string_content "NewMagickImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_4 == 0) {\n                    \n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");\n  }" ({ "{") (expression_statement "__assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage");" (call_expression "__assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage")" (identifier "__assert_fail") (argument_list "("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,\n                  "NewMagickImage")" (( "(") (string_literal ""background != (const PixelInfo *) NULL"" (" """) (string_content "background != (const PixelInfo *) NULL") (" """)) (, ",") (string_literal ""MagickCore/image.c"" (" """) (string_content "MagickCore/image.c") (" """)) (, ",") (number_literal "0x7fe") (, ",") (string_literal ""NewMagickImage"" (" """) (string_content "NewMagickImage") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar3 = AcquireImage(param_1,param_5);" (assignment_expression "lVar3 = AcquireImage(param_1,param_5)" (identifier "lVar3") (= "=") (call_expression "AcquireImage(param_1,param_5)" (identifier "AcquireImage") (argument_list "(param_1,param_5)" (( "(") (identifier "param_1") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(lVar3 + 0x20) = param_2;" (assignment_expression "*(undefined8 *)(lVar3 + 0x20) = param_2" (pointer_expression "*(undefined8 *)(lVar3 + 0x20)" (* "*") (cast_expression "(undefined8 *)(lVar3 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x20)" (( "(") (binary_expression "lVar3 + 0x20" (identifier "lVar3") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined8 *)(lVar3 + 0x28) = param_3;" (assignment_expression "*(undefined8 *)(lVar3 + 0x28) = param_3" (pointer_expression "*(undefined8 *)(lVar3 + 0x28)" (* "*") (cast_expression "(undefined8 *)(lVar3 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x28)" (( "(") (binary_expression "lVar3 + 0x28" (identifier "lVar3") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);" (assignment_expression "*(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4)" (pointer_expression "*(undefined4 *)(lVar3 + 4)" (* "*") (cast_expression "(undefined4 *)(lVar3 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 4)" (( "(") (binary_expression "lVar3 + 4" (identifier "lVar3") (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_4 + 4)" (* "*") (cast_expression "(undefined4 *)(param_4 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);" (assignment_expression "*(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8)" (pointer_expression "*(undefined4 *)(lVar3 + 0x33c)" (* "*") (cast_expression "(undefined4 *)(lVar3 + 0x33c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x33c)" (( "(") (binary_expression "lVar3 + 0x33c" (identifier "lVar3") (+ "+") (number_literal "0x33c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_4 + 8)" (* "*") (cast_expression "(undefined4 *)(param_4 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 8)" (( "(") (binary_expression "param_4 + 8" (identifier "param_4") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);" (assignment_expression "*(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10)" (pointer_expression "*(undefined8 *)(lVar3 + 0x298)" (* "*") (cast_expression "(undefined8 *)(lVar3 + 0x298)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x298)" (( "(") (binary_expression "lVar3 + 0x298" (identifier "lVar3") (+ "+") (number_literal "0x298")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(param_4 + 0x10)" (* "*") (cast_expression "(undefined8 *)(param_4 + 0x10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);" (assignment_expression "*(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18)" (pointer_expression "*(undefined8 *)(lVar3 + 0x30)" (* "*") (cast_expression "(undefined8 *)(lVar3 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x30)" (( "(") (binary_expression "lVar3 + 0x30" (identifier "lVar3") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (pointer_expression "*(undefined8 *)(param_4 + 0x18)" (* "*") (cast_expression "(undefined8 *)(param_4 + 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x18)" (( "(") (binary_expression "param_4 + 0x18" (identifier "param_4") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "uVar4 = AcquireAuthenticCacheView(lVar3,param_5);" (assignment_expression "uVar4 = AcquireAuthenticCacheView(lVar3,param_5)" (identifier "uVar4") (= "=") (call_expression "AcquireAuthenticCacheView(lVar3,param_5)" (identifier "AcquireAuthenticCacheView") (argument_list "(lVar3,param_5)" (( "(") (identifier "lVar3") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "iVar2 = GetImagePixelCacheType(lVar3);" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" (identifier "iVar2") (= "=") (call_expression "GetImagePixelCacheType(lVar3)" (identifier "GetImagePixelCacheType") (argument_list "(lVar3)" (( "(") (identifier "lVar3") () ")")))) (; ";")) (if_statement "if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }" (if "if") (parenthesized_expression "(((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3))))" (( "(") (binary_expression "((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&\n     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))" (parenthesized_expression "((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3))" (( "(") (binary_expression "(iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (parenthesized_expression "(iVar2 == 4)" (( "(") (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (( "(") (comma_expression "iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" (identifier "iVar2") (= "=") (call_expression "GetImagePixelCacheType(lVar3)" (identifier "GetImagePixelCacheType") (argument_list "(lVar3)" (( "(") (identifier "lVar3") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))" (( "(") (parenthesized_expression "(iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3))" (( "(") (comma_expression "iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" (identifier "iVar2") (= "=") (call_expression "GetImagePixelCacheType(lVar3)" (identifier "GetImagePixelCacheType") (argument_list "(lVar3)" (( "(") (identifier "lVar3") () ")")))) (, ",") (binary_expression "iVar2 == 4 ||\n      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (binary_expression "iVar2 == 4" (identifier "iVar2") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)" (( "(") (comma_expression "iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3" (assignment_expression "iVar2 = GetImagePixelCacheType(lVar3)" (identifier "iVar2") (= "=") (call_expression "GetImagePixelCacheType(lVar3)" (identifier "GetImagePixelCacheType") (argument_list "(lVar3)" (( "(") (identifier "lVar3") () ")")))) (, ",") (binary_expression "iVar2 == 3" (identifier "iVar2") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    lVar6 = GetMagickResourceLimit(7);\n    lVar7 = *(long *)(lVar3 + 0x28);\n    lVar8 = lVar7 + 0x3f;\n    if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }\n    bVar1 = 0x7f < lVar7;\n    if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }\n    lVar7 = 1;\n    if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }\n  }" ({ "{") (expression_statement "lVar6 = GetMagickResourceLimit(7);" (assignment_expression "lVar6 = GetMagickResourceLimit(7)" (identifier "lVar6") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "lVar7 = *(long *)(lVar3 + 0x28);" (assignment_expression "lVar7 = *(long *)(lVar3 + 0x28)" (identifier "lVar7") (= "=") (pointer_expression "*(long *)(lVar3 + 0x28)" (* "*") (cast_expression "(long *)(lVar3 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x28)" (( "(") (binary_expression "lVar3 + 0x28" (identifier "lVar3") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "lVar8 = lVar7 + 0x3f;" (assignment_expression "lVar8 = lVar7 + 0x3f" (identifier "lVar8") (= "=") (binary_expression "lVar7 + 0x3f" (identifier "lVar7") (+ "+") (number_literal "0x3f"))) (; ";")) (if_statement "if (-1 < lVar7) {\n      lVar8 = lVar7;\n    }" (if "if") (parenthesized_expression "(-1 < lVar7)" (( "(") (binary_expression "-1 < lVar7" (number_literal "-1") (< "<") (identifier "lVar7")) () ")")) (compound_statement "{\n      lVar8 = lVar7;\n    }" ({ "{") (expression_statement "lVar8 = lVar7;" (assignment_expression "lVar8 = lVar7" (identifier "lVar8") (= "=") (identifier "lVar7")) (; ";")) (} "}"))) (expression_statement "bVar1 = 0x7f < lVar7;" (assignment_expression "bVar1 = 0x7f < lVar7" (identifier "bVar1") (= "=") (binary_expression "0x7f < lVar7" (number_literal "0x7f") (< "<") (identifier "lVar7"))) (; ";")) (if_statement "if (lVar6 < lVar8 >> 6) {\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }" (if "if") (parenthesized_expression "(lVar6 < lVar8 >> 6)" (( "(") (binary_expression "lVar6 < lVar8 >> 6" (identifier "lVar6") (< "<") (binary_expression "lVar8 >> 6" (identifier "lVar8") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n      lVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < lVar7;\n    }" ({ "{") (expression_statement "lVar7 = GetMagickResourceLimit(7);" (assignment_expression "lVar7 = GetMagickResourceLimit(7)" (identifier "lVar7") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "bVar1 = 1 < lVar7;" (assignment_expression "bVar1 = 1 < lVar7" (identifier "bVar1") (= "=") (binary_expression "1 < lVar7" (number_literal "1") (< "<") (identifier "lVar7"))) (; ";")) (} "}"))) (expression_statement "lVar7 = 1;" (assignment_expression "lVar7 = 1" (identifier "lVar7") (= "=") (number_literal "1")) (; ";")) (if_statement "if (bVar1) {\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n      lVar6 = GetMagickResourceLimit(7);\n      lVar8 = *(long *)(lVar3 + 0x28);\n      lVar7 = lVar8 + 0x3f;\n      if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }\n      lVar7 = lVar7 >> 6;\n      if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }\n    }" ({ "{") (expression_statement "lVar6 = GetMagickResourceLimit(7);" (assignment_expression "lVar6 = GetMagickResourceLimit(7)" (identifier "lVar6") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "lVar8 = *(long *)(lVar3 + 0x28);" (assignment_expression "lVar8 = *(long *)(lVar3 + 0x28)" (identifier "lVar8") (= "=") (pointer_expression "*(long *)(lVar3 + 0x28)" (* "*") (cast_expression "(long *)(lVar3 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar3 + 0x28)" (( "(") (binary_expression "lVar3 + 0x28" (identifier "lVar3") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "lVar7 = lVar8 + 0x3f;" (assignment_expression "lVar7 = lVar8 + 0x3f" (identifier "lVar7") (= "=") (binary_expression "lVar8 + 0x3f" (identifier "lVar8") (+ "+") (number_literal "0x3f"))) (; ";")) (if_statement "if (-1 < lVar8) {\n        lVar7 = lVar8;\n      }" (if "if") (parenthesized_expression "(-1 < lVar8)" (( "(") (binary_expression "-1 < lVar8" (number_literal "-1") (< "<") (identifier "lVar8")) () ")")) (compound_statement "{\n        lVar7 = lVar8;\n      }" ({ "{") (expression_statement "lVar7 = lVar8;" (assignment_expression "lVar7 = lVar8" (identifier "lVar7") (= "=") (identifier "lVar8")) (; ";")) (} "}"))) (expression_statement "lVar7 = lVar7 >> 6;" (assignment_expression "lVar7 = lVar7 >> 6" (identifier "lVar7") (= "=") (binary_expression "lVar7 >> 6" (identifier "lVar7") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (lVar6 < lVar7) {\n        lVar7 = GetMagickResourceLimit(7);\n      }" (if "if") (parenthesized_expression "(lVar6 < lVar7)" (( "(") (binary_expression "lVar6 < lVar7" (identifier "lVar6") (< "<") (identifier "lVar7")) () ")")) (compound_statement "{\n        lVar7 = GetMagickResourceLimit(7);\n      }" ({ "{") (expression_statement "lVar7 = GetMagickResourceLimit(7);" (assignment_expression "lVar7 = GetMagickResourceLimit(7)" (identifier "lVar7") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }" (else "else") (compound_statement "{\n    uVar5 = GetMagickResourceLimit(7);\n    if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }\n    uVar5 = GetMagickResourceLimit(7);\n    lVar7 = 2;\n    if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }\n  }" ({ "{") (expression_statement "uVar5 = GetMagickResourceLimit(7);" (assignment_expression "uVar5 = GetMagickResourceLimit(7)" (identifier "uVar5") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (uVar5 < 2) {\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }" (if "if") (parenthesized_expression "(uVar5 < 2)" (( "(") (binary_expression "uVar5 < 2" (identifier "uVar5") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      uVar5 = GetMagickResourceLimit(7);\n      lVar7 = 1;\n      if (uVar5 < 2) goto LAB_00221721;\n    }" ({ "{") (expression_statement "uVar5 = GetMagickResourceLimit(7);" (assignment_expression "uVar5 = GetMagickResourceLimit(7)" (identifier "uVar5") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "lVar7 = 1;" (assignment_expression "lVar7 = 1" (identifier "lVar7") (= "=") (number_literal "1")) (; ";")) (if_statement "if (uVar5 < 2) goto LAB_00221721;" (if "if") (parenthesized_expression "(uVar5 < 2)" (( "(") (binary_expression "uVar5 < 2" (identifier "uVar5") (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_00221721;" (goto "goto") (statement_identifier "LAB_00221721") (; ";"))) (} "}"))) (expression_statement "uVar5 = GetMagickResourceLimit(7);" (assignment_expression "uVar5 = GetMagickResourceLimit(7)" (identifier "uVar5") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "lVar7 = 2;" (assignment_expression "lVar7 = 2" (identifier "lVar7") (= "=") (number_literal "2")) (; ";")) (if_statement "if (uVar5 < 2) {\n      lVar7 = GetMagickResourceLimit(7);\n    }" (if "if") (parenthesized_expression "(uVar5 < 2)" (( "(") (binary_expression "uVar5 < 2" (identifier "uVar5") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      lVar7 = GetMagickResourceLimit(7);\n    }" ({ "{") (expression_statement "lVar7 = GetMagickResourceLimit(7);" (assignment_expression "lVar7 = GetMagickResourceLimit(7)" (identifier "lVar7") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_00221721:\n  local_38 = 1;" (statement_identifier "LAB_00221721") (: ":") (expression_statement "local_38 = 1;" (assignment_expression "local_38 = 1" (identifier "local_38") (= "=") (number_literal "1")) (; ";"))) (expression_statement "local_58 = param_4;" (assignment_expression "local_58 = param_4" (identifier "local_58") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_50 = param_5;" (assignment_expression "local_50 = param_5" (identifier "local_50") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_48 = uVar4;" (assignment_expression "local_48 = uVar4" (identifier "local_48") (= "=") (identifier "uVar4")) (; ";")) (expression_statement "local_40 = lVar3;" (assignment_expression "local_40 = lVar3" (identifier "local_40") (= "=") (identifier "lVar3")) (; ";")) (expression_statement "GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);" (call_expression "GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0)" (identifier "GOMP_parallel") (argument_list "(FUN_0021aa95,&local_58,lVar7,0)" (( "(") (identifier "FUN_0021aa95") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (identifier "lVar7") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar2 = local_38;" (assignment_expression "iVar2 = local_38" (identifier "iVar2") (= "=") (identifier "local_38")) (; ";")) (expression_statement "DestroyCacheView(uVar4);" (call_expression "DestroyCacheView(uVar4)" (identifier "DestroyCacheView") (argument_list "(uVar4)" (( "(") (identifier "uVar4") () ")"))) (; ";")) (if_statement "if (iVar2 == 0) {\n    lVar3 = DestroyImage(lVar3);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    lVar3 = DestroyImage(lVar3);\n  }" ({ "{") (expression_statement "lVar3 = DestroyImage(lVar3);" (assignment_expression "lVar3 = DestroyImage(lVar3)" (identifier "lVar3") (= "=") (call_expression "DestroyImage(lVar3)" (identifier "DestroyImage") (argument_list "(lVar3)" (( "(") (identifier "lVar3") () ")")))) (; ";")) (} "}"))) (if_statement "if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (if "if") (parenthesized_expression "(local_30 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_30 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_30") (!= "!=") (pointer_expression "*(long *)(in_FS_OFFSET + 0x28)" (* "*") (cast_expression "(long *)(in_FS_OFFSET + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_FS_OFFSET + 0x28)" (( "(") (binary_expression "in_FS_OFFSET + 0x28" (identifier "in_FS_OFFSET") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n                    \n    __stack_chk_fail();\n  }" ({ "{") (expression_statement "__stack_chk_fail();" (call_expression "__stack_chk_fail()" (identifier "__stack_chk_fail") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (return_statement "return lVar3;" (return "return") (identifier "lVar3") (; ";")) (} "}")))

/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */

type_1 * function_1(type_2 *var_2,size_t width,size_t height,type_3 *var_6,
                      type_4 *exception)

{
  size_t var_14;
  bool bVar2;
  int var_19;
  type_5 var_10;
  type_1 *image;
  type_6 *cache_view;
  type_7 var_15;
  type_7 var_16;
  size_t sVar7;
  long var_1;
  type_3 *local_58;
  type_4 *local_50;
  type_6 *local_48;
  type_1 *local_40;
  int local_38;
  long var_21;
  
  var_21 = *(long *)(var_1 + 0x28);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,
                  "NewMagickImage");
  }
  if (var_2->debug != var_4) {
    var_5(TraceEvent,"MagickCore/image.c","NewMagickImage",0x7fc,"...");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,
                  "NewMagickImage");
  }
  if (var_6 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,
                  "NewMagickImage");
  }
  image = var_7(var_2,exception);
  image->columns = width;
  image->rows = height;
  image->colorspace = var_6->colorspace;
  image->alpha_trait = var_6->alpha_trait;
  image->fuzz = var_6->fuzz;
  image->depth = var_6->depth;
  cache_view = var_8(image,exception);
  var_10 = var_9(image);
  if (((var_10 == var_11) || (var_10 = var_9(image), var_10 == var_12)) &&
     ((var_10 = var_9(image), var_10 == var_11 ||
      (var_10 = var_9(image), var_10 == var_12)))) {
    var_15 = var_13(ThreadResource);
    var_14 = image->rows;
    sVar7 = var_14 + 0x3f;
    if (-1 < (long)var_14) {
      sVar7 = var_14;
    }
    bVar2 = 0x7f < (long)var_14;
    if ((long)var_15 < (long)sVar7 >> 6) {
      var_15 = var_13(ThreadResource);
      bVar2 = 1 < (long)var_15;
    }
    var_15 = 1;
    if (bVar2) {
      var_16 = var_13(ThreadResource);
      var_14 = image->rows;
      sVar7 = var_14 + 0x3f;
      if (-1 < (long)var_14) {
        sVar7 = var_14;
      }
      var_15 = (long)sVar7 >> 6;
      if ((long)var_16 < (long)var_15) {
        var_15 = var_13(ThreadResource);
      }
    }
  }
  else {
    var_15 = var_13(ThreadResource);
    if (var_15 < 2) {
      var_16 = var_13(ThreadResource);
      var_15 = 1;
      if (var_16 < 2) goto LAB_00221721;
    }
    var_16 = var_13(ThreadResource);
    var_15 = 2;
    if (var_16 < 2) {
      var_15 = var_13(ThreadResource);
    }
  }
LAB_00221721:
  local_38 = 1;
  local_58 = var_6;
  local_50 = exception;
  local_48 = cache_view;
  local_40 = image;
  var_17(NewMagickImage__omp_fn_3,&local_58,var_15,0);
  var_19 = local_38;
  var_18(cache_view);
  if (var_19 == 0) {
    image = var_20(image);
  }
  if (var_21 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
    var_22();
  }
  return image;
}


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

long MASKED(long param_1,undefined8 param_2,undefined8 param_3,long param_4,
                   undefined8 param_5)

{
  bool bVar1;
  int iVar2;
  long lVar3;
  undefined8 uVar4;
  ulong uVar5;
  long lVar6;
  long lVar7;
  long lVar8;
  long in_FS_OFFSET;
  long local_58;
  undefined8 local_50;
  undefined8 local_48;
  long local_40;
  int local_38;
  long local_30;
  
  local_30 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","MagickCore/image.c",0x7fa,
                  "MASKED");
  }
  if (*(int *)(param_1 + 0x3270) != 0) {
    LogMagickEvent(0x8000,"MagickCore/image.c","MASKED",0x7fc,"...");
  }
  if (*(long *)(param_1 + 0x3278) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","MagickCore/image.c",0x7fd,
                  "MASKED");
  }
  if (param_4 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("background != (const PixelInfo *) NULL","MagickCore/image.c",0x7fe,
                  "MASKED");
  }
  lVar3 = AcquireImage(param_1,param_5);
  *(undefined8 *)(lVar3 + 0x20) = param_2;
  *(undefined8 *)(lVar3 + 0x28) = param_3;
  *(undefined4 *)(lVar3 + 4) = *(undefined4 *)(param_4 + 4);
  *(undefined4 *)(lVar3 + 0x33c) = *(undefined4 *)(param_4 + 8);
  *(undefined8 *)(lVar3 + 0x298) = *(undefined8 *)(param_4 + 0x10);
  *(undefined8 *)(lVar3 + 0x30) = *(undefined8 *)(param_4 + 0x18);
  uVar4 = AcquireAuthenticCacheView(lVar3,param_5);
  iVar2 = GetImagePixelCacheType(lVar3);
  if (((iVar2 == 4) || (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)) &&
     ((iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 4 ||
      (iVar2 = GetImagePixelCacheType(lVar3), iVar2 == 3)))) {
    lVar6 = GetMagickResourceLimit(7);
    lVar7 = *(long *)(lVar3 + 0x28);
    lVar8 = lVar7 + 0x3f;
    if (-1 < lVar7) {
      lVar8 = lVar7;
    }
    bVar1 = 0x7f < lVar7;
    if (lVar6 < lVar8 >> 6) {
      lVar7 = GetMagickResourceLimit(7);
      bVar1 = 1 < lVar7;
    }
    lVar7 = 1;
    if (bVar1) {
      lVar6 = GetMagickResourceLimit(7);
      lVar8 = *(long *)(lVar3 + 0x28);
      lVar7 = lVar8 + 0x3f;
      if (-1 < lVar8) {
        lVar7 = lVar8;
      }
      lVar7 = lVar7 >> 6;
      if (lVar6 < lVar7) {
        lVar7 = GetMagickResourceLimit(7);
      }
    }
  }
  else {
    uVar5 = GetMagickResourceLimit(7);
    if (uVar5 < 2) {
      uVar5 = GetMagickResourceLimit(7);
      lVar7 = 1;
      if (uVar5 < 2) goto LAB_00221721;
    }
    uVar5 = GetMagickResourceLimit(7);
    lVar7 = 2;
    if (uVar5 < 2) {
      lVar7 = GetMagickResourceLimit(7);
    }
  }
LAB_00221721:
  local_38 = 1;
  local_58 = param_4;
  local_50 = param_5;
  local_48 = uVar4;
  local_40 = lVar3;
  GOMP_parallel(FUN_0021aa95,&local_58,lVar7,0);
  iVar2 = local_38;
  DestroyCacheView(uVar4);
  if (iVar2 == 0) {
    lVar3 = DestroyImage(lVar3);
  }
  if (local_30 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return lVar3;
}

