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

Image * FlopImage(Image *image,ExceptionInfo *exception)

{
  size_t sVar1;
  size_t sVar2;
  ssize_t sVar3;
  size_t sVar4;
  bool bVar5;
  int iVar6;
  CacheType CVar7;
  Image *image_00;
  CacheView *cache_view;
  CacheView *cache_view_00;
  MagickSizeType MVar8;
  MagickSizeType MVar9;
  long lVar10;
  size_t sVar11;
  long in_FS_OFFSET;
  MagickOffsetType progress;
  Image *local_78;
  ExceptionInfo *local_70;
  CacheView *local_68;
  CacheView *local_60;
  Image *local_58;
  MagickOffsetType *local_50;
  int local_48;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (image == (Image *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");
  }
  if (image->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,
                  "FlopImage");
  }
  if (image->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",image->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");
  }
  if (exception->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,
                  "FlopImage");
  }
  image_00 = CloneImage(image,0,0,MagickTrue,exception);
  if (image_00 == (Image *)0x0) goto LAB_002dc4a0;
  progress = 0;
  sVar1 = (image->page).width;
  sVar2 = (image->page).height;
  lVar10 = (image->page).x;
  sVar3 = (image->page).y;
  cache_view = AcquireVirtualCacheView(image,exception);
  cache_view_00 = AcquireAuthenticCacheView(image_00,exception);
  CVar7 = GetImagePixelCacheType(image);
  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&
     ((CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||
      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)))) {
    MVar8 = GetMagickResourceLimit(ThreadResource);
    sVar4 = image_00->rows;
    sVar11 = sVar4 + 0x3f;
    if (-1 < (long)sVar4) {
      sVar11 = sVar4;
    }
    bVar5 = 0x7f < (long)sVar4;
    if ((long)MVar8 < (long)sVar11 >> 6) {
      MVar8 = GetMagickResourceLimit(ThreadResource);
      bVar5 = 1 < (long)MVar8;
    }
    MVar8 = 1;
    if (bVar5) {
      MVar9 = GetMagickResourceLimit(ThreadResource);
      sVar4 = image_00->rows;
      sVar11 = sVar4 + 0x3f;
      if (-1 < (long)sVar4) {
        sVar11 = sVar4;
      }
      MVar8 = (long)sVar11 >> 6;
      if ((long)MVar9 < (long)MVar8) {
        MVar8 = GetMagickResourceLimit(ThreadResource);
      }
    }
  }
  else {
    MVar8 = GetMagickResourceLimit(ThreadResource);
    if (MVar8 < 2) {
      MVar9 = GetMagickResourceLimit(ThreadResource);
      MVar8 = 1;
      if (MVar9 < 2) goto LAB_002dc3f6;
    }
    MVar9 = GetMagickResourceLimit(ThreadResource);
    MVar8 = 2;
    if (MVar9 < 2) {
      MVar8 = GetMagickResourceLimit(ThreadResource);
    }
  }
LAB_002dc3f6:
  local_50 = &progress;
  local_48 = 1;
  local_78 = image;
  local_70 = exception;
  local_68 = cache_view_00;
  local_60 = cache_view;
  local_58 = image_00;
  GOMP_parallel(FlopImage__omp_fn_5,&local_78,MVar8,0);
  iVar6 = local_48;
  DestroyCacheView(cache_view_00);
  DestroyCacheView(cache_view);
  image_00->type = image->type;
  if (sVar1 != 0) {
    lVar10 = (sVar1 - image_00->columns) - lVar10;
  }
  (image_00->page).width = sVar1;
  (image_00->page).height = sVar2;
  (image_00->page).x = lVar10;
  (image_00->page).y = sVar3;
  if (iVar6 == 0) {
    image_00 = DestroyImage(image_00);
  }
LAB_002dc4a0:
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return image_00;
}



long FlopImage(long param_1,long param_2)

{
  long lVar1;
  undefined8 uVar2;
  undefined8 uVar3;
  bool bVar4;
  int iVar5;
  long lVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  ulong uVar9;
  long lVar10;
  long lVar11;
  long lVar12;
  long lVar13;
  long in_FS_OFFSET;
  undefined8 local_80;
  long local_78;
  long local_70;
  undefined8 local_68;
  undefined8 local_60;
  long local_58;
  undefined8 *local_50;
  int local_48;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");
  }
  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,
                  "FlopImage");
  }
  if (*(int *)(param_1 + 0x3418) != 0) {
    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");
  }
  if (*(long *)(param_2 + 0x30) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,
                  "FlopImage");
  }
  lVar6 = CloneImage(param_1,0,0,1,param_2);
  if (lVar6 == 0) goto LAB_002dc4a0;
  local_80 = 0;
  lVar1 = *(long *)(param_1 + 600);
  uVar2 = *(undefined8 *)(param_1 + 0x260);
  lVar10 = *(long *)(param_1 + 0x268);
  uVar3 = *(undefined8 *)(param_1 + 0x270);
  uVar7 = AcquireVirtualCacheView(param_1,param_2);
  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);
  iVar5 = GetImagePixelCacheType(param_1);
  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&
     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||
      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {
    lVar11 = GetMagickResourceLimit(7);
    lVar12 = *(long *)(lVar6 + 0x28);
    lVar13 = lVar12 + 0x3f;
    if (-1 < lVar12) {
      lVar13 = lVar12;
    }
    bVar4 = 0x7f < lVar12;
    if (lVar11 < lVar13 >> 6) {
      lVar12 = GetMagickResourceLimit(7);
      bVar4 = 1 < lVar12;
    }
    lVar12 = 1;
    if (bVar4) {
      lVar11 = GetMagickResourceLimit(7);
      lVar13 = *(long *)(lVar6 + 0x28);
      lVar12 = lVar13 + 0x3f;
      if (-1 < lVar13) {
        lVar12 = lVar13;
      }
      lVar12 = lVar12 >> 6;
      if (lVar11 < lVar12) {
        lVar12 = GetMagickResourceLimit(7);
      }
    }
  }
  else {
    uVar9 = GetMagickResourceLimit(7);
    if (uVar9 < 2) {
      uVar9 = GetMagickResourceLimit(7);
      lVar12 = 1;
      if (uVar9 < 2) goto LAB_002dc3f6;
    }
    uVar9 = GetMagickResourceLimit(7);
    lVar12 = 2;
    if (uVar9 < 2) {
      lVar12 = GetMagickResourceLimit(7);
    }
  }
LAB_002dc3f6:
  local_50 = &local_80;
  local_48 = 1;
  local_78 = param_1;
  local_70 = param_2;
  local_68 = uVar8;
  local_60 = uVar7;
  local_58 = lVar6;
  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);
  iVar5 = local_48;
  DestroyCacheView(uVar8);
  DestroyCacheView(uVar7);
  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);
  if (lVar1 != 0) {
    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;
  }
  *(long *)(lVar6 + 600) = lVar1;
  *(undefined8 *)(lVar6 + 0x260) = uVar2;
  *(long *)(lVar6 + 0x268) = lVar10;
  *(undefined8 *)(lVar6 + 0x270) = uVar3;
  if (iVar5 == 0) {
    lVar6 = DestroyImage(lVar6);
  }
LAB_002dc4a0:
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return lVar6;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x78
MOV RAX,qword ptr FS:[0x28]
MOV qword ptr [RSP + 0x68],RAX
XOR EAX,EAX
TEST RDI,RDI
JZ 0x002dc4c6
MOV RBX,RDI
MOV R12,RSI
MOV EAX,0xabacadab
CMP qword ptr [RDI + 0x3450],RAX
JNZ 0x002dc4e5
CMP dword ptr [RDI + 0x3418],0x0
JNZ 0x002dc504
TEST R12,R12
JZ 0x002dc539
MOV EAX,0xabacadab
CMP qword ptr [R12 + 0x30],RAX
JNZ 0x002dc558
MOV R8,R12
MOV ECX,0x1
MOV EDX,0x0
MOV ESI,0x0
MOV RDI,RBX
CALL 0x0014a0f0
MOV RBP,RAX
TEST RAX,RAX
JZ 0x002dc4a0
MOV qword ptr [RSP + 0x28],0x0
MOV R13,qword ptr [RBX + 0x258]
MOV RAX,qword ptr [RBX + 0x260]
MOV qword ptr [RSP + 0x18],RAX
MOV R15,qword ptr [RBX + 0x268]
MOV RAX,qword ptr [RBX + 0x270]
MOV qword ptr [RSP + 0x10],RAX
MOV RSI,R12
MOV RDI,RBX
CALL 0x0014a510
MOV qword ptr [RSP + 0x8],RAX
MOV RSI,R12
MOV RDI,RBP
CALL 0x0014cd50
MOV R14,RAX
MOV RDI,RBX
CALL 0x0014b110
CMP EAX,0x4
JZ 0x002dc577
MOV RDI,RBX
CALL 0x0014b110
CMP EAX,0x3
JZ 0x002dc577
MOV EDI,0x7
CALL 0x0014c170
CMP RAX,0x1
JBE 0x002dc606
MOV EDI,0x7
CALL 0x0014c170
MOV EDX,0x2
CMP RAX,0x1
JBE 0x002dc624
MOV qword ptr [RSP + 0x50],RBP
MOV RAX,qword ptr [RSP + 0x8]
MOV qword ptr [RSP + 0x48],RAX
MOV qword ptr [RSP + 0x40],R14
MOV qword ptr [RSP + 0x38],R12
MOV qword ptr [RSP + 0x30],RBX
LEA RAX,[RSP + 0x28]
MOV qword ptr [RSP + 0x58],RAX
MOV dword ptr [RSP + 0x60],0x1
LEA RSI,[RSP + 0x30]
MOV ECX,0x0
LEA RDI,[0x2d8962]
CALL 0x0014bf70
MOV R12D,dword ptr [RSP + 0x60]
MOV RDI,R14
CALL 0x0014cc70
MOV RDI,qword ptr [RSP + 0x8]
CALL 0x0014cc70
MOV EAX,dword ptr [RBX + 0x320]
MOV dword ptr [RBP + 0x320],EAX
TEST R13,R13
JZ 0x002dc471
MOV RAX,R13
SUB RAX,qword ptr [RBP + 0x20]
SUB RAX,R15
MOV R15,RAX
MOV qword ptr [RBP + 0x258],R13
MOV RAX,qword ptr [RSP + 0x18]
MOV qword ptr [RBP + 0x260],RAX
MOV qword ptr [RBP + 0x268],R15
MOV RAX,qword ptr [RSP + 0x10]
MOV qword ptr [RBP + 0x270],RAX
TEST R12D,R12D
JZ 0x002dc64c
MOV RAX,RBP
MOV RCX,qword ptr [RSP + 0x68]
XOR RCX,qword ptr FS:[0x28]
JNZ 0x002dc65c
ADD RSP,0x78
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA RCX,[0x4347b0]
MOV EDX,0x543
LEA RSI,[0x4345e8]
LEA RDI,[0x3fa444]
CALL 0x0014a360
LEA RCX,[0x4347b0]
MOV EDX,0x544
LEA RSI,[0x4345e8]
LEA RDI,[0x3f98f0]
CALL 0x0014a360
LEA R9,[RDI + 0x3f8]
LEA R8,[0x41fe36]
MOV ECX,0x546
LEA RDX,[0x4347a0]
LEA RSI,[0x4345e8]
MOV EDI,0x8000
MOV EAX,0x0
CALL 0x0014be20
JMP 0x002dc31b
LEA RCX,[0x4347b0]
MOV EDX,0x547
LEA RSI,[0x4345e8]
LEA RDI,[0x3fa748]
CALL 0x0014a360
LEA RCX,[0x4347b0]
MOV EDX,0x548
LEA RSI,[0x4345e8]
LEA RDI,[0x3fb6a0]
CALL 0x0014a360
MOV RDI,RBP
CALL 0x0014b110
CMP EAX,0x4
JZ 0x002dc595
MOV RDI,RBP
CALL 0x0014b110
CMP EAX,0x3
JNZ 0x002dc3c9
MOV EDI,0x7
CALL 0x0014c170
MOV RCX,qword ptr [RBP + 0x28]
LEA RDX,[RCX + 0x3f]
TEST RCX,RCX
CMOVNS RDX,RCX
SAR RDX,0x6
CMP RCX,0x7f
SETG CL
CMP RAX,RDX
JL 0x002dc636
MOV EDX,0x1
TEST CL,CL
JZ 0x002dc3f6
MOV EDI,0x7
CALL 0x0014c170
MOV RDX,qword ptr [RBP + 0x28]
LEA RCX,[RDX + 0x3f]
TEST RDX,RDX
CMOVNS RCX,RDX
SAR RCX,0x6
MOV RDX,RCX
CMP RAX,RCX
JGE 0x002dc3f6
MOV EDI,0x7
CALL 0x0014c170
MOV RDX,RAX
JMP 0x002dc3f6
MOV EDI,0x7
CALL 0x0014c170
MOV EDX,0x1
CMP RAX,0x1
JA 0x002dc3dd
JMP 0x002dc3f6
MOV EDI,0x7
CALL 0x0014c170
MOV RDX,RAX
JMP 0x002dc3f6
MOV EDI,0x7
CALL 0x0014c170
CMP RAX,0x1
SETG CL
JMP 0x002dc5be
MOV RDI,RBP
CALL 0x0014caa0
MOV RBP,RAX
JMP 0x002dc4a0
CALL 0x0014c5c0
(translation_unit "long FlopImage(long param_1,long param_2)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  ulong uVar9;\n  long lVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  undefined8 local_80;\n  long local_78;\n  long local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  long local_58;\n  undefined8 *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  lVar6 = CloneImage(param_1,0,0,1,param_2);\n  if (lVar6 == 0) goto LAB_002dc4a0;\n  local_80 = 0;\n  lVar1 = *(long *)(param_1 + 600);\n  uVar2 = *(undefined8 *)(param_1 + 0x260);\n  lVar10 = *(long *)(param_1 + 0x268);\n  uVar3 = *(undefined8 *)(param_1 + 0x270);\n  uVar7 = AcquireVirtualCacheView(param_1,param_2);\n  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);\n  iVar5 = GetImagePixelCacheType(param_1);\n  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &local_80;\n  local_48 = 1;\n  local_78 = param_1;\n  local_70 = param_2;\n  local_68 = uVar8;\n  local_60 = uVar7;\n  local_58 = lVar6;\n  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);\n  iVar5 = local_48;\n  DestroyCacheView(uVar8);\n  DestroyCacheView(uVar7);\n  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);\n  if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }\n  *(long *)(lVar6 + 600) = lVar1;\n  *(undefined8 *)(lVar6 + 0x260) = uVar2;\n  *(long *)(lVar6 + 0x268) = lVar10;\n  *(undefined8 *)(lVar6 + 0x270) = uVar3;\n  if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return lVar6;\n}\n\n" (function_definition "long FlopImage(long param_1,long param_2)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  ulong uVar9;\n  long lVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  undefined8 local_80;\n  long local_78;\n  long local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  long local_58;\n  undefined8 *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  lVar6 = CloneImage(param_1,0,0,1,param_2);\n  if (lVar6 == 0) goto LAB_002dc4a0;\n  local_80 = 0;\n  lVar1 = *(long *)(param_1 + 600);\n  uVar2 = *(undefined8 *)(param_1 + 0x260);\n  lVar10 = *(long *)(param_1 + 0x268);\n  uVar3 = *(undefined8 *)(param_1 + 0x270);\n  uVar7 = AcquireVirtualCacheView(param_1,param_2);\n  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);\n  iVar5 = GetImagePixelCacheType(param_1);\n  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &local_80;\n  local_48 = 1;\n  local_78 = param_1;\n  local_70 = param_2;\n  local_68 = uVar8;\n  local_60 = uVar7;\n  local_58 = lVar6;\n  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);\n  iVar5 = local_48;\n  DestroyCacheView(uVar8);\n  DestroyCacheView(uVar7);\n  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);\n  if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }\n  *(long *)(lVar6 + 600) = lVar1;\n  *(undefined8 *)(lVar6 + 0x260) = uVar2;\n  *(long *)(lVar6 + 0x268) = lVar10;\n  *(undefined8 *)(lVar6 + 0x270) = uVar3;\n  if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return lVar6;\n}" (sized_type_specifier "long" long) (function_declarator "FlopImage(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  ulong uVar9;\n  long lVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  undefined8 local_80;\n  long local_78;\n  long local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  long local_58;\n  undefined8 *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  lVar6 = CloneImage(param_1,0,0,1,param_2);\n  if (lVar6 == 0) goto LAB_002dc4a0;\n  local_80 = 0;\n  lVar1 = *(long *)(param_1 + 600);\n  uVar2 = *(undefined8 *)(param_1 + 0x260);\n  lVar10 = *(long *)(param_1 + 0x268);\n  uVar3 = *(undefined8 *)(param_1 + 0x270);\n  uVar7 = AcquireVirtualCacheView(param_1,param_2);\n  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);\n  iVar5 = GetImagePixelCacheType(param_1);\n  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &local_80;\n  local_48 = 1;\n  local_78 = param_1;\n  local_70 = param_2;\n  local_68 = uVar8;\n  local_60 = uVar7;\n  local_58 = lVar6;\n  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);\n  iVar5 = local_48;\n  DestroyCacheView(uVar8);\n  DestroyCacheView(uVar7);\n  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);\n  if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }\n  *(long *)(lVar6 + 600) = lVar1;\n  *(undefined8 *)(lVar6 + 0x260) = uVar2;\n  *(long *)(lVar6 + 0x268) = lVar10;\n  *(undefined8 *)(lVar6 + 0x270) = uVar3;\n  if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return lVar6;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_80;" type_identifier identifier ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_70;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(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 != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\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 != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }" { comment (expression_statement "__assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");" (call_expression "__assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage")" identifier (argument_list "("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage")" ( (string_literal ""image != (const Image *) NULL"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x3450) != 0xabacadab)" ( (binary_expression "*(long *)(param_1 + 0x3450) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3450)" * (cast_expression "(long *)(param_1 + 0x3450)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3450)" ( (binary_expression "param_1 + 0x3450" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3418) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3418) != 0" (pointer_expression "*(int *)(param_1 + 0x3418)" * (cast_expression "(int *)(param_1 + 0x3418)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3418)" ( (binary_expression "param_1 + 0x3418" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);" (call_expression "LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8)" identifier (argument_list "(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8)" ( number_literal , (string_literal ""MagickCore/transform.c"" " string_content ") , (string_literal ""FlopImage"" " string_content ") , number_literal , (pointer_expression "&DAT_0041fe36" & identifier) , (binary_expression "param_1 + 0x3f8" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }" if (parenthesized_expression "(*(long *)(param_2 + 0x30) != 0xabacadab)" ( (binary_expression "*(long *)(param_2 + 0x30) != 0xabacadab" (pointer_expression "*(long *)(param_2 + 0x30)" * (cast_expression "(long *)(param_2 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (expression_statement "lVar6 = CloneImage(param_1,0,0,1,param_2);" (assignment_expression "lVar6 = CloneImage(param_1,0,0,1,param_2)" identifier = (call_expression "CloneImage(param_1,0,0,1,param_2)" identifier (argument_list "(param_1,0,0,1,param_2)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (lVar6 == 0) goto LAB_002dc4a0;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002dc4a0;" goto statement_identifier ;)) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "lVar1 = *(long *)(param_1 + 600);" (assignment_expression "lVar1 = *(long *)(param_1 + 600)" identifier = (pointer_expression "*(long *)(param_1 + 600)" * (cast_expression "(long *)(param_1 + 600)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 600)" ( (binary_expression "param_1 + 600" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined8 *)(param_1 + 0x260);" (assignment_expression "uVar2 = *(undefined8 *)(param_1 + 0x260)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x260)" * (cast_expression "(undefined8 *)(param_1 + 0x260)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x260)" ( (binary_expression "param_1 + 0x260" identifier + number_literal) ))))) ;) (expression_statement "lVar10 = *(long *)(param_1 + 0x268);" (assignment_expression "lVar10 = *(long *)(param_1 + 0x268)" identifier = (pointer_expression "*(long *)(param_1 + 0x268)" * (cast_expression "(long *)(param_1 + 0x268)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x268)" ( (binary_expression "param_1 + 0x268" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined8 *)(param_1 + 0x270);" (assignment_expression "uVar3 = *(undefined8 *)(param_1 + 0x270)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x270)" * (cast_expression "(undefined8 *)(param_1 + 0x270)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x270)" ( (binary_expression "param_1 + 0x270" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = AcquireVirtualCacheView(param_1,param_2);" (assignment_expression "uVar7 = AcquireVirtualCacheView(param_1,param_2)" identifier = (call_expression "AcquireVirtualCacheView(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "uVar8 = AcquireAuthenticCacheView(lVar6,param_2);" (assignment_expression "uVar8 = AcquireAuthenticCacheView(lVar6,param_2)" identifier = (call_expression "AcquireAuthenticCacheView(lVar6,param_2)" identifier (argument_list "(lVar6,param_2)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = GetImagePixelCacheType(param_1);" (assignment_expression "iVar5 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)" ( (comma_expression "iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3" (assignment_expression "iVar5 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3))" ( (comma_expression "iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)" (assignment_expression "iVar5 = GetImagePixelCacheType(lVar6)" identifier = (call_expression "GetImagePixelCacheType(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)" ( (comma_expression "iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3" (assignment_expression "iVar5 = GetImagePixelCacheType(lVar6)" identifier = (call_expression "GetImagePixelCacheType(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }" { (expression_statement "lVar11 = GetMagickResourceLimit(7);" (assignment_expression "lVar11 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar12 = *(long *)(lVar6 + 0x28);" (assignment_expression "lVar12 = *(long *)(lVar6 + 0x28)" identifier = (pointer_expression "*(long *)(lVar6 + 0x28)" * (cast_expression "(long *)(lVar6 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar13 = lVar12 + 0x3f;" (assignment_expression "lVar13 = lVar12 + 0x3f" identifier = (binary_expression "lVar12 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }" if (parenthesized_expression "(-1 < lVar12)" ( (binary_expression "-1 < lVar12" number_literal < identifier) )) (compound_statement "{\n      lVar13 = lVar12;\n    }" { (expression_statement "lVar13 = lVar12;" (assignment_expression "lVar13 = lVar12" identifier = identifier) ;) })) (expression_statement "bVar4 = 0x7f < lVar12;" (assignment_expression "bVar4 = 0x7f < lVar12" identifier = (binary_expression "0x7f < lVar12" number_literal < identifier)) ;) (if_statement "if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }" if (parenthesized_expression "(lVar11 < lVar13 >> 6)" ( (binary_expression "lVar11 < lVar13 >> 6" identifier < (binary_expression "lVar13 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }" { (expression_statement "lVar12 = GetMagickResourceLimit(7);" (assignment_expression "lVar12 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "bVar4 = 1 < lVar12;" (assignment_expression "bVar4 = 1 < lVar12" identifier = (binary_expression "1 < lVar12" number_literal < identifier)) ;) })) (expression_statement "lVar12 = 1;" (assignment_expression "lVar12 = 1" identifier = number_literal) ;) (if_statement "if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }" { (expression_statement "lVar11 = GetMagickResourceLimit(7);" (assignment_expression "lVar11 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar13 = *(long *)(lVar6 + 0x28);" (assignment_expression "lVar13 = *(long *)(lVar6 + 0x28)" identifier = (pointer_expression "*(long *)(lVar6 + 0x28)" * (cast_expression "(long *)(lVar6 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar12 = lVar13 + 0x3f;" (assignment_expression "lVar12 = lVar13 + 0x3f" identifier = (binary_expression "lVar13 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }" if (parenthesized_expression "(-1 < lVar13)" ( (binary_expression "-1 < lVar13" number_literal < identifier) )) (compound_statement "{\n        lVar12 = lVar13;\n      }" { (expression_statement "lVar12 = lVar13;" (assignment_expression "lVar12 = lVar13" identifier = identifier) ;) })) (expression_statement "lVar12 = lVar12 >> 6;" (assignment_expression "lVar12 = lVar12 >> 6" identifier = (binary_expression "lVar12 >> 6" identifier >> number_literal)) ;) (if_statement "if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }" if (parenthesized_expression "(lVar11 < lVar12)" ( (binary_expression "lVar11 < lVar12" identifier < identifier) )) (compound_statement "{\n        lVar12 = GetMagickResourceLimit(7);\n      }" { (expression_statement "lVar12 = GetMagickResourceLimit(7);" (assignment_expression "lVar12 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) })) }) (else_clause "else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }" else (compound_statement "{\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }" { (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (compound_statement "{\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }" { (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar12 = 1;" (assignment_expression "lVar12 = 1" identifier = number_literal) ;) (if_statement "if (uVar9 < 2) goto LAB_002dc3f6;" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (goto_statement "goto LAB_002dc3f6;" goto statement_identifier ;)) })) (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar12 = 2;" (assignment_expression "lVar12 = 2" identifier = number_literal) ;) (if_statement "if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (compound_statement "{\n      lVar12 = GetMagickResourceLimit(7);\n    }" { (expression_statement "lVar12 = GetMagickResourceLimit(7);" (assignment_expression "lVar12 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) }))) (labeled_statement "LAB_002dc3f6:\n  local_50 = &local_80;" statement_identifier : (expression_statement "local_50 = &local_80;" (assignment_expression "local_50 = &local_80" identifier = (pointer_expression "&local_80" & identifier)) ;)) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (expression_statement "local_78 = param_1;" (assignment_expression "local_78 = param_1" identifier = identifier) ;) (expression_statement "local_70 = param_2;" (assignment_expression "local_70 = param_2" identifier = identifier) ;) (expression_statement "local_68 = uVar8;" (assignment_expression "local_68 = uVar8" identifier = identifier) ;) (expression_statement "local_60 = uVar7;" (assignment_expression "local_60 = uVar7" identifier = identifier) ;) (expression_statement "local_58 = lVar6;" (assignment_expression "local_58 = lVar6" identifier = identifier) ;) (expression_statement "GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);" (call_expression "GOMP_parallel(FUN_002d8962,&local_78,lVar12,0)" identifier (argument_list "(FUN_002d8962,&local_78,lVar12,0)" ( identifier , (pointer_expression "&local_78" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar5 = local_48;" (assignment_expression "iVar5 = local_48" identifier = identifier) ;) (expression_statement "DestroyCacheView(uVar8);" (call_expression "DestroyCacheView(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "DestroyCacheView(uVar7);" (call_expression "DestroyCacheView(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);" (assignment_expression "*(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800)" (pointer_expression "*(undefined4 *)(lVar6 + 800)" * (cast_expression "(undefined4 *)(lVar6 + 800)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 800)" ( (binary_expression "lVar6 + 800" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 800)" * (cast_expression "(undefined4 *)(param_1 + 800)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 800)" ( (binary_expression "param_1 + 800" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }" { (expression_statement "lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;" (assignment_expression "lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10" identifier = (binary_expression "(lVar1 - *(long *)(lVar6 + 0x20)) - lVar10" (parenthesized_expression "(lVar1 - *(long *)(lVar6 + 0x20))" ( (binary_expression "lVar1 - *(long *)(lVar6 + 0x20)" identifier - (pointer_expression "*(long *)(lVar6 + 0x20)" * (cast_expression "(long *)(lVar6 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x20)" ( (binary_expression "lVar6 + 0x20" identifier + number_literal) ))))) )) - identifier)) ;) })) (expression_statement "*(long *)(lVar6 + 600) = lVar1;" (assignment_expression "*(long *)(lVar6 + 600) = lVar1" (pointer_expression "*(long *)(lVar6 + 600)" * (cast_expression "(long *)(lVar6 + 600)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 600)" ( (binary_expression "lVar6 + 600" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar6 + 0x260) = uVar2;" (assignment_expression "*(undefined8 *)(lVar6 + 0x260) = uVar2" (pointer_expression "*(undefined8 *)(lVar6 + 0x260)" * (cast_expression "(undefined8 *)(lVar6 + 0x260)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x260)" ( (binary_expression "lVar6 + 0x260" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(lVar6 + 0x268) = lVar10;" (assignment_expression "*(long *)(lVar6 + 0x268) = lVar10" (pointer_expression "*(long *)(lVar6 + 0x268)" * (cast_expression "(long *)(lVar6 + 0x268)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x268)" ( (binary_expression "lVar6 + 0x268" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar6 + 0x270) = uVar3;" (assignment_expression "*(undefined8 *)(lVar6 + 0x270) = uVar3" (pointer_expression "*(undefined8 *)(lVar6 + 0x270)" * (cast_expression "(undefined8 *)(lVar6 + 0x270)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x270)" ( (binary_expression "lVar6 + 0x270" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    lVar6 = DestroyImage(lVar6);\n  }" { (expression_statement "lVar6 = DestroyImage(lVar6);" (assignment_expression "lVar6 = DestroyImage(lVar6)" identifier = (call_expression "DestroyImage(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) ;) })) (labeled_statement "LAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" statement_identifier : (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(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 lVar6;" return identifier ;) })))
(translation_unit "/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "LogEventType": Some values do not have unique names */\n\nImage * FlopImage(Image *image,ExceptionInfo *exception)\n\n{\n  size_t sVar1;\n  size_t sVar2;\n  ssize_t sVar3;\n  size_t sVar4;\n  bool bVar5;\n  int iVar6;\n  CacheType CVar7;\n  Image *image_00;\n  CacheView *cache_view;\n  CacheView *cache_view_00;\n  MagickSizeType MVar8;\n  MagickSizeType MVar9;\n  long lVar10;\n  size_t sVar11;\n  long in_FS_OFFSET;\n  MagickOffsetType progress;\n  Image *local_78;\n  ExceptionInfo *local_70;\n  CacheView *local_68;\n  CacheView *local_60;\n  Image *local_58;\n  MagickOffsetType *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  image_00 = CloneImage(image,0,0,MagickTrue,exception);\n  if (image_00 == (Image *)0x0) goto LAB_002dc4a0;\n  progress = 0;\n  sVar1 = (image->page).width;\n  sVar2 = (image->page).height;\n  lVar10 = (image->page).x;\n  sVar3 = (image->page).y;\n  cache_view = AcquireVirtualCacheView(image,exception);\n  cache_view_00 = AcquireAuthenticCacheView(image_00,exception);\n  CVar7 = GetImagePixelCacheType(image);\n  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)))) {\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    sVar4 = image_00->rows;\n    sVar11 = sVar4 + 0x3f;\n    if (-1 < (long)sVar4) {\n      sVar11 = sVar4;\n    }\n    bVar5 = 0x7f < (long)sVar4;\n    if ((long)MVar8 < (long)sVar11 >> 6) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n      bVar5 = 1 < (long)MVar8;\n    }\n    MVar8 = 1;\n    if (bVar5) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      sVar4 = image_00->rows;\n      sVar11 = sVar4 + 0x3f;\n      if (-1 < (long)sVar4) {\n        sVar11 = sVar4;\n      }\n      MVar8 = (long)sVar11 >> 6;\n      if ((long)MVar9 < (long)MVar8) {\n        MVar8 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }\n  else {\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    if (MVar8 < 2) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      MVar8 = 1;\n      if (MVar9 < 2) goto LAB_002dc3f6;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    MVar8 = 2;\n    if (MVar9 < 2) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &progress;\n  local_48 = 1;\n  local_78 = image;\n  local_70 = exception;\n  local_68 = cache_view_00;\n  local_60 = cache_view;\n  local_58 = image_00;\n  GOMP_parallel(FlopImage__omp_fn_5,&local_78,MVar8,0);\n  iVar6 = local_48;\n  DestroyCacheView(cache_view_00);\n  DestroyCacheView(cache_view);\n  image_00->type = image->type;\n  if (sVar1 != 0) {\n    lVar10 = (sVar1 - image_00->columns) - lVar10;\n  }\n  (image_00->page).width = sVar1;\n  (image_00->page).height = sVar2;\n  (image_00->page).x = lVar10;\n  (image_00->page).y = sVar3;\n  if (iVar6 == 0) {\n    image_00 = DestroyImage(image_00);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return image_00;\n}\n\n" comment comment comment comment comment comment (function_definition "Image * FlopImage(Image *image,ExceptionInfo *exception)\n\n{\n  size_t sVar1;\n  size_t sVar2;\n  ssize_t sVar3;\n  size_t sVar4;\n  bool bVar5;\n  int iVar6;\n  CacheType CVar7;\n  Image *image_00;\n  CacheView *cache_view;\n  CacheView *cache_view_00;\n  MagickSizeType MVar8;\n  MagickSizeType MVar9;\n  long lVar10;\n  size_t sVar11;\n  long in_FS_OFFSET;\n  MagickOffsetType progress;\n  Image *local_78;\n  ExceptionInfo *local_70;\n  CacheView *local_68;\n  CacheView *local_60;\n  Image *local_58;\n  MagickOffsetType *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  image_00 = CloneImage(image,0,0,MagickTrue,exception);\n  if (image_00 == (Image *)0x0) goto LAB_002dc4a0;\n  progress = 0;\n  sVar1 = (image->page).width;\n  sVar2 = (image->page).height;\n  lVar10 = (image->page).x;\n  sVar3 = (image->page).y;\n  cache_view = AcquireVirtualCacheView(image,exception);\n  cache_view_00 = AcquireAuthenticCacheView(image_00,exception);\n  CVar7 = GetImagePixelCacheType(image);\n  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)))) {\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    sVar4 = image_00->rows;\n    sVar11 = sVar4 + 0x3f;\n    if (-1 < (long)sVar4) {\n      sVar11 = sVar4;\n    }\n    bVar5 = 0x7f < (long)sVar4;\n    if ((long)MVar8 < (long)sVar11 >> 6) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n      bVar5 = 1 < (long)MVar8;\n    }\n    MVar8 = 1;\n    if (bVar5) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      sVar4 = image_00->rows;\n      sVar11 = sVar4 + 0x3f;\n      if (-1 < (long)sVar4) {\n        sVar11 = sVar4;\n      }\n      MVar8 = (long)sVar11 >> 6;\n      if ((long)MVar9 < (long)MVar8) {\n        MVar8 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }\n  else {\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    if (MVar8 < 2) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      MVar8 = 1;\n      if (MVar9 < 2) goto LAB_002dc3f6;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    MVar8 = 2;\n    if (MVar9 < 2) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &progress;\n  local_48 = 1;\n  local_78 = image;\n  local_70 = exception;\n  local_68 = cache_view_00;\n  local_60 = cache_view;\n  local_58 = image_00;\n  GOMP_parallel(FlopImage__omp_fn_5,&local_78,MVar8,0);\n  iVar6 = local_48;\n  DestroyCacheView(cache_view_00);\n  DestroyCacheView(cache_view);\n  image_00->type = image->type;\n  if (sVar1 != 0) {\n    lVar10 = (sVar1 - image_00->columns) - lVar10;\n  }\n  (image_00->page).width = sVar1;\n  (image_00->page).height = sVar2;\n  (image_00->page).x = lVar10;\n  (image_00->page).y = sVar3;\n  if (iVar6 == 0) {\n    image_00 = DestroyImage(image_00);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return image_00;\n}" type_identifier (pointer_declarator "* FlopImage(Image *image,ExceptionInfo *exception)" * (function_declarator "FlopImage(Image *image,ExceptionInfo *exception)" identifier (parameter_list "(Image *image,ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) )))) (compound_statement "{\n  size_t sVar1;\n  size_t sVar2;\n  ssize_t sVar3;\n  size_t sVar4;\n  bool bVar5;\n  int iVar6;\n  CacheType CVar7;\n  Image *image_00;\n  CacheView *cache_view;\n  CacheView *cache_view_00;\n  MagickSizeType MVar8;\n  MagickSizeType MVar9;\n  long lVar10;\n  size_t sVar11;\n  long in_FS_OFFSET;\n  MagickOffsetType progress;\n  Image *local_78;\n  ExceptionInfo *local_70;\n  CacheView *local_68;\n  CacheView *local_60;\n  Image *local_58;\n  MagickOffsetType *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  image_00 = CloneImage(image,0,0,MagickTrue,exception);\n  if (image_00 == (Image *)0x0) goto LAB_002dc4a0;\n  progress = 0;\n  sVar1 = (image->page).width;\n  sVar2 = (image->page).height;\n  lVar10 = (image->page).x;\n  sVar3 = (image->page).y;\n  cache_view = AcquireVirtualCacheView(image,exception);\n  cache_view_00 = AcquireAuthenticCacheView(image_00,exception);\n  CVar7 = GetImagePixelCacheType(image);\n  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)))) {\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    sVar4 = image_00->rows;\n    sVar11 = sVar4 + 0x3f;\n    if (-1 < (long)sVar4) {\n      sVar11 = sVar4;\n    }\n    bVar5 = 0x7f < (long)sVar4;\n    if ((long)MVar8 < (long)sVar11 >> 6) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n      bVar5 = 1 < (long)MVar8;\n    }\n    MVar8 = 1;\n    if (bVar5) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      sVar4 = image_00->rows;\n      sVar11 = sVar4 + 0x3f;\n      if (-1 < (long)sVar4) {\n        sVar11 = sVar4;\n      }\n      MVar8 = (long)sVar11 >> 6;\n      if ((long)MVar9 < (long)MVar8) {\n        MVar8 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }\n  else {\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    if (MVar8 < 2) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      MVar8 = 1;\n      if (MVar9 < 2) goto LAB_002dc3f6;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    MVar8 = 2;\n    if (MVar9 < 2) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &progress;\n  local_48 = 1;\n  local_78 = image;\n  local_70 = exception;\n  local_68 = cache_view_00;\n  local_60 = cache_view;\n  local_58 = image_00;\n  GOMP_parallel(FlopImage__omp_fn_5,&local_78,MVar8,0);\n  iVar6 = local_48;\n  DestroyCacheView(cache_view_00);\n  DestroyCacheView(cache_view);\n  image_00->type = image->type;\n  if (sVar1 != 0) {\n    lVar10 = (sVar1 - image_00->columns) - lVar10;\n  }\n  (image_00->page).width = sVar1;\n  (image_00->page).height = sVar2;\n  (image_00->page).x = lVar10;\n  (image_00->page).y = sVar3;\n  if (iVar6 == 0) {\n    image_00 = DestroyImage(image_00);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }\n  return image_00;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "ssize_t sVar3;" primitive_type identifier ;) (declaration "size_t sVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "CacheType CVar7;" type_identifier identifier ;) (declaration "Image *image_00;" type_identifier (pointer_declarator "*image_00" * identifier) ;) (declaration "CacheView *cache_view;" type_identifier (pointer_declarator "*cache_view" * identifier) ;) (declaration "CacheView *cache_view_00;" type_identifier (pointer_declarator "*cache_view_00" * identifier) ;) (declaration "MagickSizeType MVar8;" type_identifier identifier ;) (declaration "MagickSizeType MVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "MagickOffsetType progress;" type_identifier identifier ;) (declaration "Image *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "ExceptionInfo *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "CacheView *local_68;" type_identifier (pointer_declarator "*local_68" * identifier) ;) (declaration "CacheView *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "Image *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "MagickOffsetType *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(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 == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }" { comment (expression_statement "__assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");" (call_expression "__assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage")" identifier (argument_list "("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage")" ( (string_literal ""image != (const Image *) NULL"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (if_statement "if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }" if (parenthesized_expression "(image->signature != 0xabacadab)" ( (binary_expression "image->signature != 0xabacadab" (field_expression "image->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (if_statement "if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",image->filename);\n  }" if (parenthesized_expression "(image->debug != MagickFalse)" ( (binary_expression "image->debug != MagickFalse" (field_expression "image->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    LogMagickEvent(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",image->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",image->filename);" (call_expression "LogMagickEvent(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",image->filename)" identifier (argument_list "(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",image->filename)" ( identifier , (string_literal ""MagickCore/transform.c"" " string_content ") , (string_literal ""FlopImage"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }" if (parenthesized_expression "(exception == (ExceptionInfo *)0x0)" ( (binary_expression "exception == (ExceptionInfo *)0x0" identifier == (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }" if (parenthesized_expression "(exception->signature != 0xabacadab)" ( (binary_expression "exception->signature != 0xabacadab" (field_expression "exception->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (expression_statement "image_00 = CloneImage(image,0,0,MagickTrue,exception);" (assignment_expression "image_00 = CloneImage(image,0,0,MagickTrue,exception)" identifier = (call_expression "CloneImage(image,0,0,MagickTrue,exception)" identifier (argument_list "(image,0,0,MagickTrue,exception)" ( identifier , number_literal , number_literal , identifier , identifier )))) ;) (if_statement "if (image_00 == (Image *)0x0) goto LAB_002dc4a0;" if (parenthesized_expression "(image_00 == (Image *)0x0)" ( (binary_expression "image_00 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002dc4a0;" goto statement_identifier ;)) (expression_statement "progress = 0;" (assignment_expression "progress = 0" identifier = number_literal) ;) (expression_statement "sVar1 = (image->page).width;" (assignment_expression "sVar1 = (image->page).width" identifier = (field_expression "(image->page).width" (parenthesized_expression "(image->page)" ( (field_expression "image->page" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "sVar2 = (image->page).height;" (assignment_expression "sVar2 = (image->page).height" identifier = (field_expression "(image->page).height" (parenthesized_expression "(image->page)" ( (field_expression "image->page" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "lVar10 = (image->page).x;" (assignment_expression "lVar10 = (image->page).x" identifier = (field_expression "(image->page).x" (parenthesized_expression "(image->page)" ( (field_expression "image->page" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "sVar3 = (image->page).y;" (assignment_expression "sVar3 = (image->page).y" identifier = (field_expression "(image->page).y" (parenthesized_expression "(image->page)" ( (field_expression "image->page" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "cache_view = AcquireVirtualCacheView(image,exception);" (assignment_expression "cache_view = AcquireVirtualCacheView(image,exception)" identifier = (call_expression "AcquireVirtualCacheView(image,exception)" identifier (argument_list "(image,exception)" ( identifier , identifier )))) ;) (expression_statement "cache_view_00 = AcquireAuthenticCacheView(image_00,exception);" (assignment_expression "cache_view_00 = AcquireAuthenticCacheView(image_00,exception)" identifier = (call_expression "AcquireAuthenticCacheView(image_00,exception)" identifier (argument_list "(image_00,exception)" ( identifier , identifier )))) ;) (expression_statement "CVar7 = GetImagePixelCacheType(image);" (assignment_expression "CVar7 = GetImagePixelCacheType(image)" identifier = (call_expression "GetImagePixelCacheType(image)" identifier (argument_list "(image)" ( identifier )))) ;) (if_statement "if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)))) {\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    sVar4 = image_00->rows;\n    sVar11 = sVar4 + 0x3f;\n    if (-1 < (long)sVar4) {\n      sVar11 = sVar4;\n    }\n    bVar5 = 0x7f < (long)sVar4;\n    if ((long)MVar8 < (long)sVar11 >> 6) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n      bVar5 = 1 < (long)MVar8;\n    }\n    MVar8 = 1;\n    if (bVar5) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      sVar4 = image_00->rows;\n      sVar11 = sVar4 + 0x3f;\n      if (-1 < (long)sVar4) {\n        sVar11 = sVar4;\n      }\n      MVar8 = (long)sVar11 >> 6;\n      if ((long)MVar9 < (long)MVar8) {\n        MVar8 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }\n  else {\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    if (MVar8 < 2) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      MVar8 = 1;\n      if (MVar9 < 2) goto LAB_002dc3f6;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    MVar8 = 2;\n    if (MVar9 < 2) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n    }\n  }" if (parenthesized_expression "(((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache))))" ( (binary_expression "((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)))" (parenthesized_expression "((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache))" ( (binary_expression "(CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)" (parenthesized_expression "(CVar7 == MemoryCache)" ( (binary_expression "CVar7 == MemoryCache" identifier == identifier) )) || (parenthesized_expression "(CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)" ( (comma_expression "CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache" (assignment_expression "CVar7 = GetImagePixelCacheType(image)" identifier = (call_expression "GetImagePixelCacheType(image)" identifier (argument_list "(image)" ( identifier )))) , (binary_expression "CVar7 == MapCache" identifier == identifier)) ))) )) && (parenthesized_expression "((CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)))" ( (parenthesized_expression "(CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache))" ( (comma_expression "CVar7 = GetImagePixelCacheType(image_00), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)" (assignment_expression "CVar7 = GetImagePixelCacheType(image_00)" identifier = (call_expression "GetImagePixelCacheType(image_00)" identifier (argument_list "(image_00)" ( identifier )))) , (binary_expression "CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)" (binary_expression "CVar7 == MemoryCache" identifier == identifier) || (parenthesized_expression "(CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache)" ( (comma_expression "CVar7 = GetImagePixelCacheType(image_00), CVar7 == MapCache" (assignment_expression "CVar7 = GetImagePixelCacheType(image_00)" identifier = (call_expression "GetImagePixelCacheType(image_00)" identifier (argument_list "(image_00)" ( identifier )))) , (binary_expression "CVar7 == MapCache" identifier == identifier)) )))) )) ))) )) (compound_statement "{\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    sVar4 = image_00->rows;\n    sVar11 = sVar4 + 0x3f;\n    if (-1 < (long)sVar4) {\n      sVar11 = sVar4;\n    }\n    bVar5 = 0x7f < (long)sVar4;\n    if ((long)MVar8 < (long)sVar11 >> 6) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n      bVar5 = 1 < (long)MVar8;\n    }\n    MVar8 = 1;\n    if (bVar5) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      sVar4 = image_00->rows;\n      sVar11 = sVar4 + 0x3f;\n      if (-1 < (long)sVar4) {\n        sVar11 = sVar4;\n      }\n      MVar8 = (long)sVar11 >> 6;\n      if ((long)MVar9 < (long)MVar8) {\n        MVar8 = GetMagickResourceLimit(ThreadResource);\n      }\n    }\n  }" { (expression_statement "MVar8 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar8 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "sVar4 = image_00->rows;" (assignment_expression "sVar4 = image_00->rows" identifier = (field_expression "image_00->rows" identifier -> field_identifier)) ;) (expression_statement "sVar11 = sVar4 + 0x3f;" (assignment_expression "sVar11 = sVar4 + 0x3f" identifier = (binary_expression "sVar4 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < (long)sVar4) {\n      sVar11 = sVar4;\n    }" if (parenthesized_expression "(-1 < (long)sVar4)" ( (binary_expression "-1 < (long)sVar4" number_literal < (cast_expression "(long)sVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n      sVar11 = sVar4;\n    }" { (expression_statement "sVar11 = sVar4;" (assignment_expression "sVar11 = sVar4" identifier = identifier) ;) })) (expression_statement "bVar5 = 0x7f < (long)sVar4;" (assignment_expression "bVar5 = 0x7f < (long)sVar4" identifier = (binary_expression "0x7f < (long)sVar4" number_literal < (cast_expression "(long)sVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (if_statement "if ((long)MVar8 < (long)sVar11 >> 6) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n      bVar5 = 1 < (long)MVar8;\n    }" if (parenthesized_expression "((long)MVar8 < (long)sVar11 >> 6)" ( (binary_expression "(long)MVar8 < (long)sVar11 >> 6" (cast_expression "(long)MVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < (binary_expression "(long)sVar11 >> 6" (cast_expression "(long)sVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) )) (compound_statement "{\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n      bVar5 = 1 < (long)MVar8;\n    }" { (expression_statement "MVar8 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar8 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "bVar5 = 1 < (long)MVar8;" (assignment_expression "bVar5 = 1 < (long)MVar8" identifier = (binary_expression "1 < (long)MVar8" number_literal < (cast_expression "(long)MVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) })) (expression_statement "MVar8 = 1;" (assignment_expression "MVar8 = 1" identifier = number_literal) ;) (if_statement "if (bVar5) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      sVar4 = image_00->rows;\n      sVar11 = sVar4 + 0x3f;\n      if (-1 < (long)sVar4) {\n        sVar11 = sVar4;\n      }\n      MVar8 = (long)sVar11 >> 6;\n      if ((long)MVar9 < (long)MVar8) {\n        MVar8 = GetMagickResourceLimit(ThreadResource);\n      }\n    }" if (parenthesized_expression "(bVar5)" ( identifier )) (compound_statement "{\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      sVar4 = image_00->rows;\n      sVar11 = sVar4 + 0x3f;\n      if (-1 < (long)sVar4) {\n        sVar11 = sVar4;\n      }\n      MVar8 = (long)sVar11 >> 6;\n      if ((long)MVar9 < (long)MVar8) {\n        MVar8 = GetMagickResourceLimit(ThreadResource);\n      }\n    }" { (expression_statement "MVar9 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar9 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "sVar4 = image_00->rows;" (assignment_expression "sVar4 = image_00->rows" identifier = (field_expression "image_00->rows" identifier -> field_identifier)) ;) (expression_statement "sVar11 = sVar4 + 0x3f;" (assignment_expression "sVar11 = sVar4 + 0x3f" identifier = (binary_expression "sVar4 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < (long)sVar4) {\n        sVar11 = sVar4;\n      }" if (parenthesized_expression "(-1 < (long)sVar4)" ( (binary_expression "-1 < (long)sVar4" number_literal < (cast_expression "(long)sVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n        sVar11 = sVar4;\n      }" { (expression_statement "sVar11 = sVar4;" (assignment_expression "sVar11 = sVar4" identifier = identifier) ;) })) (expression_statement "MVar8 = (long)sVar11 >> 6;" (assignment_expression "MVar8 = (long)sVar11 >> 6" identifier = (binary_expression "(long)sVar11 >> 6" (cast_expression "(long)sVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if ((long)MVar9 < (long)MVar8) {\n        MVar8 = GetMagickResourceLimit(ThreadResource);\n      }" if (parenthesized_expression "((long)MVar9 < (long)MVar8)" ( (binary_expression "(long)MVar9 < (long)MVar8" (cast_expression "(long)MVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < (cast_expression "(long)MVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (compound_statement "{\n        MVar8 = GetMagickResourceLimit(ThreadResource);\n      }" { (expression_statement "MVar8 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar8 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) })) })) }) (else_clause "else {\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    if (MVar8 < 2) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      MVar8 = 1;\n      if (MVar9 < 2) goto LAB_002dc3f6;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    MVar8 = 2;\n    if (MVar9 < 2) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n    }\n  }" else (compound_statement "{\n    MVar8 = GetMagickResourceLimit(ThreadResource);\n    if (MVar8 < 2) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      MVar8 = 1;\n      if (MVar9 < 2) goto LAB_002dc3f6;\n    }\n    MVar9 = GetMagickResourceLimit(ThreadResource);\n    MVar8 = 2;\n    if (MVar9 < 2) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n    }\n  }" { (expression_statement "MVar8 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar8 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (if_statement "if (MVar8 < 2) {\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      MVar8 = 1;\n      if (MVar9 < 2) goto LAB_002dc3f6;\n    }" if (parenthesized_expression "(MVar8 < 2)" ( (binary_expression "MVar8 < 2" identifier < number_literal) )) (compound_statement "{\n      MVar9 = GetMagickResourceLimit(ThreadResource);\n      MVar8 = 1;\n      if (MVar9 < 2) goto LAB_002dc3f6;\n    }" { (expression_statement "MVar9 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar9 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "MVar8 = 1;" (assignment_expression "MVar8 = 1" identifier = number_literal) ;) (if_statement "if (MVar9 < 2) goto LAB_002dc3f6;" if (parenthesized_expression "(MVar9 < 2)" ( (binary_expression "MVar9 < 2" identifier < number_literal) )) (goto_statement "goto LAB_002dc3f6;" goto statement_identifier ;)) })) (expression_statement "MVar9 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar9 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "MVar8 = 2;" (assignment_expression "MVar8 = 2" identifier = number_literal) ;) (if_statement "if (MVar9 < 2) {\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n    }" if (parenthesized_expression "(MVar9 < 2)" ( (binary_expression "MVar9 < 2" identifier < number_literal) )) (compound_statement "{\n      MVar8 = GetMagickResourceLimit(ThreadResource);\n    }" { (expression_statement "MVar8 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar8 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) })) }))) (labeled_statement "LAB_002dc3f6:\n  local_50 = &progress;" statement_identifier : (expression_statement "local_50 = &progress;" (assignment_expression "local_50 = &progress" identifier = (pointer_expression "&progress" & identifier)) ;)) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (expression_statement "local_78 = image;" (assignment_expression "local_78 = image" identifier = identifier) ;) (expression_statement "local_70 = exception;" (assignment_expression "local_70 = exception" identifier = identifier) ;) (expression_statement "local_68 = cache_view_00;" (assignment_expression "local_68 = cache_view_00" identifier = identifier) ;) (expression_statement "local_60 = cache_view;" (assignment_expression "local_60 = cache_view" identifier = identifier) ;) (expression_statement "local_58 = image_00;" (assignment_expression "local_58 = image_00" identifier = identifier) ;) (expression_statement "GOMP_parallel(FlopImage__omp_fn_5,&local_78,MVar8,0);" (call_expression "GOMP_parallel(FlopImage__omp_fn_5,&local_78,MVar8,0)" identifier (argument_list "(FlopImage__omp_fn_5,&local_78,MVar8,0)" ( identifier , (pointer_expression "&local_78" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar6 = local_48;" (assignment_expression "iVar6 = local_48" identifier = identifier) ;) (expression_statement "DestroyCacheView(cache_view_00);" (call_expression "DestroyCacheView(cache_view_00)" identifier (argument_list "(cache_view_00)" ( identifier ))) ;) (expression_statement "DestroyCacheView(cache_view);" (call_expression "DestroyCacheView(cache_view)" identifier (argument_list "(cache_view)" ( identifier ))) ;) (expression_statement "image_00->type = image->type;" (assignment_expression "image_00->type = image->type" (field_expression "image_00->type" identifier -> field_identifier) = (field_expression "image->type" identifier -> field_identifier)) ;) (if_statement "if (sVar1 != 0) {\n    lVar10 = (sVar1 - image_00->columns) - lVar10;\n  }" if (parenthesized_expression "(sVar1 != 0)" ( (binary_expression "sVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    lVar10 = (sVar1 - image_00->columns) - lVar10;\n  }" { (expression_statement "lVar10 = (sVar1 - image_00->columns) - lVar10;" (assignment_expression "lVar10 = (sVar1 - image_00->columns) - lVar10" identifier = (binary_expression "(sVar1 - image_00->columns) - lVar10" (parenthesized_expression "(sVar1 - image_00->columns)" ( (binary_expression "sVar1 - image_00->columns" identifier - (field_expression "image_00->columns" identifier -> field_identifier)) )) - identifier)) ;) })) (expression_statement "(image_00->page).width = sVar1;" (assignment_expression "(image_00->page).width = sVar1" (field_expression "(image_00->page).width" (parenthesized_expression "(image_00->page)" ( (field_expression "image_00->page" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(image_00->page).height = sVar2;" (assignment_expression "(image_00->page).height = sVar2" (field_expression "(image_00->page).height" (parenthesized_expression "(image_00->page)" ( (field_expression "image_00->page" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(image_00->page).x = lVar10;" (assignment_expression "(image_00->page).x = lVar10" (field_expression "(image_00->page).x" (parenthesized_expression "(image_00->page)" ( (field_expression "image_00->page" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(image_00->page).y = sVar3;" (assignment_expression "(image_00->page).y = sVar3" (field_expression "(image_00->page).y" (parenthesized_expression "(image_00->page)" ( (field_expression "image_00->page" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (iVar6 == 0) {\n    image_00 = DestroyImage(image_00);\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    image_00 = DestroyImage(image_00);\n  }" { (expression_statement "image_00 = DestroyImage(image_00);" (assignment_expression "image_00 = DestroyImage(image_00)" identifier = (call_expression "DestroyImage(image_00)" identifier (argument_list "(image_00)" ( identifier )))) ;) })) (labeled_statement "LAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" statement_identifier : (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(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_00;" return identifier ;) })))
(translation_unit "long FlopImage(long param_1,long param_2)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  ulong uVar9;\n  long lVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  undefined8 local_80;\n  long local_78;\n  long local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  long local_58;\n  undefined8 *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  lVar6 = CloneImage(param_1,0,0,1,param_2);\n  if (lVar6 == 0) goto LAB_002dc4a0;\n  local_80 = 0;\n  lVar1 = *(long *)(param_1 + 600);\n  uVar2 = *(undefined8 *)(param_1 + 0x260);\n  lVar10 = *(long *)(param_1 + 0x268);\n  uVar3 = *(undefined8 *)(param_1 + 0x270);\n  uVar7 = AcquireVirtualCacheView(param_1,param_2);\n  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);\n  iVar5 = GetImagePixelCacheType(param_1);\n  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &local_80;\n  local_48 = 1;\n  local_78 = param_1;\n  local_70 = param_2;\n  local_68 = uVar8;\n  local_60 = uVar7;\n  local_58 = lVar6;\n  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);\n  iVar5 = local_48;\n  DestroyCacheView(uVar8);\n  DestroyCacheView(uVar7);\n  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);\n  if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }\n  *(long *)(lVar6 + 600) = lVar1;\n  *(undefined8 *)(lVar6 + 0x260) = uVar2;\n  *(long *)(lVar6 + 0x268) = lVar10;\n  *(undefined8 *)(lVar6 + 0x270) = uVar3;\n  if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar6;\n}\n\n" (function_definition "long FlopImage(long param_1,long param_2)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  ulong uVar9;\n  long lVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  undefined8 local_80;\n  long local_78;\n  long local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  long local_58;\n  undefined8 *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  lVar6 = CloneImage(param_1,0,0,1,param_2);\n  if (lVar6 == 0) goto LAB_002dc4a0;\n  local_80 = 0;\n  lVar1 = *(long *)(param_1 + 600);\n  uVar2 = *(undefined8 *)(param_1 + 0x260);\n  lVar10 = *(long *)(param_1 + 0x268);\n  uVar3 = *(undefined8 *)(param_1 + 0x270);\n  uVar7 = AcquireVirtualCacheView(param_1,param_2);\n  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);\n  iVar5 = GetImagePixelCacheType(param_1);\n  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &local_80;\n  local_48 = 1;\n  local_78 = param_1;\n  local_70 = param_2;\n  local_68 = uVar8;\n  local_60 = uVar7;\n  local_58 = lVar6;\n  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);\n  iVar5 = local_48;\n  DestroyCacheView(uVar8);\n  DestroyCacheView(uVar7);\n  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);\n  if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }\n  *(long *)(lVar6 + 600) = lVar1;\n  *(undefined8 *)(lVar6 + 0x260) = uVar2;\n  *(long *)(lVar6 + 0x268) = lVar10;\n  *(undefined8 *)(lVar6 + 0x270) = uVar3;\n  if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar6;\n}" (sized_type_specifier "long" long) (function_declarator "FlopImage(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  ulong uVar9;\n  long lVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  undefined8 local_80;\n  long local_78;\n  long local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  long local_58;\n  undefined8 *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  lVar6 = CloneImage(param_1,0,0,1,param_2);\n  if (lVar6 == 0) goto LAB_002dc4a0;\n  local_80 = 0;\n  lVar1 = *(long *)(param_1 + 600);\n  uVar2 = *(undefined8 *)(param_1 + 0x260);\n  lVar10 = *(long *)(param_1 + 0x268);\n  uVar3 = *(undefined8 *)(param_1 + 0x270);\n  uVar7 = AcquireVirtualCacheView(param_1,param_2);\n  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);\n  iVar5 = GetImagePixelCacheType(param_1);\n  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &local_80;\n  local_48 = 1;\n  local_78 = param_1;\n  local_70 = param_2;\n  local_68 = uVar8;\n  local_60 = uVar7;\n  local_58 = lVar6;\n  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);\n  iVar5 = local_48;\n  DestroyCacheView(uVar8);\n  DestroyCacheView(uVar7);\n  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);\n  if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }\n  *(long *)(lVar6 + 600) = lVar1;\n  *(undefined8 *)(lVar6 + 0x260) = uVar2;\n  *(long *)(lVar6 + 0x268) = lVar10;\n  *(undefined8 *)(lVar6 + 0x270) = uVar3;\n  if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar6;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar2;" type_identifier identifier ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 uVar7;" type_identifier identifier ;) (declaration "undefined8 uVar8;" type_identifier identifier ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "long lVar10;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar11;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_80;" type_identifier identifier ;) (declaration "long local_78;" (sized_type_specifier "long" long) identifier ;) (declaration "long local_70;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 local_68;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined8 *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(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 != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }" { (expression_statement "__assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");" (call_expression "__assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage")" identifier (argument_list "("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage")" ( (string_literal ""image != (const Image *) NULL"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0x3450) != 0xabacadab)" ( (binary_expression "*(long *)(param_1 + 0x3450) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3450)" * (cast_expression "(long *)(param_1 + 0x3450)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3450)" ( (binary_expression "param_1 + 0x3450" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }" { (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3418) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3418) != 0" (pointer_expression "*(int *)(param_1 + 0x3418)" * (cast_expression "(int *)(param_1 + 0x3418)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3418)" ( (binary_expression "param_1 + 0x3418" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);" (call_expression "LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8)" identifier (argument_list "(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8)" ( number_literal , (string_literal ""MagickCore/transform.c"" " string_content ") , (string_literal ""FlopImage"" " string_content ") , number_literal , (pointer_expression "&DAT_0041fe36" & identifier) , (binary_expression "param_1 + 0x3f8" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }" { (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }" if (parenthesized_expression "(*(long *)(param_2 + 0x30) != 0xabacadab)" ( (binary_expression "*(long *)(param_2 + 0x30) != 0xabacadab" (pointer_expression "*(long *)(param_2 + 0x30)" * (cast_expression "(long *)(param_2 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }" { (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/transform.c"" " string_content ") , number_literal , (string_literal ""FlopImage"" " string_content ") ))) ;) })) (expression_statement "lVar6 = CloneImage(param_1,0,0,1,param_2);" (assignment_expression "lVar6 = CloneImage(param_1,0,0,1,param_2)" identifier = (call_expression "CloneImage(param_1,0,0,1,param_2)" identifier (argument_list "(param_1,0,0,1,param_2)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (lVar6 == 0) goto LAB_002dc4a0;" if (parenthesized_expression "(lVar6 == 0)" ( (binary_expression "lVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002dc4a0;" goto statement_identifier ;)) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" identifier = number_literal) ;) (expression_statement "lVar1 = *(long *)(param_1 + 600);" (assignment_expression "lVar1 = *(long *)(param_1 + 600)" identifier = (pointer_expression "*(long *)(param_1 + 600)" * (cast_expression "(long *)(param_1 + 600)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 600)" ( (binary_expression "param_1 + 600" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined8 *)(param_1 + 0x260);" (assignment_expression "uVar2 = *(undefined8 *)(param_1 + 0x260)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x260)" * (cast_expression "(undefined8 *)(param_1 + 0x260)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x260)" ( (binary_expression "param_1 + 0x260" identifier + number_literal) ))))) ;) (expression_statement "lVar10 = *(long *)(param_1 + 0x268);" (assignment_expression "lVar10 = *(long *)(param_1 + 0x268)" identifier = (pointer_expression "*(long *)(param_1 + 0x268)" * (cast_expression "(long *)(param_1 + 0x268)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x268)" ( (binary_expression "param_1 + 0x268" identifier + number_literal) ))))) ;) (expression_statement "uVar3 = *(undefined8 *)(param_1 + 0x270);" (assignment_expression "uVar3 = *(undefined8 *)(param_1 + 0x270)" identifier = (pointer_expression "*(undefined8 *)(param_1 + 0x270)" * (cast_expression "(undefined8 *)(param_1 + 0x270)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x270)" ( (binary_expression "param_1 + 0x270" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = AcquireVirtualCacheView(param_1,param_2);" (assignment_expression "uVar7 = AcquireVirtualCacheView(param_1,param_2)" identifier = (call_expression "AcquireVirtualCacheView(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "uVar8 = AcquireAuthenticCacheView(lVar6,param_2);" (assignment_expression "uVar8 = AcquireAuthenticCacheView(lVar6,param_2)" identifier = (call_expression "AcquireAuthenticCacheView(lVar6,param_2)" identifier (argument_list "(lVar6,param_2)" ( identifier , identifier )))) ;) (expression_statement "iVar5 = GetImagePixelCacheType(param_1);" (assignment_expression "iVar5 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }" if (parenthesized_expression "(((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3))))" ( (binary_expression "((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3))" ( (binary_expression "(iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" ( (binary_expression "iVar5 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)" ( (comma_expression "iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3" (assignment_expression "iVar5 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))" ( (parenthesized_expression "(iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3))" ( (comma_expression "iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)" (assignment_expression "iVar5 = GetImagePixelCacheType(lVar6)" identifier = (call_expression "GetImagePixelCacheType(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) , (binary_expression "iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)" (binary_expression "iVar5 == 4" identifier == number_literal) || (parenthesized_expression "(iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)" ( (comma_expression "iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3" (assignment_expression "iVar5 = GetImagePixelCacheType(lVar6)" identifier = (call_expression "GetImagePixelCacheType(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) , (binary_expression "iVar5 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }" { (expression_statement "lVar11 = GetMagickResourceLimit(7);" (assignment_expression "lVar11 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar12 = *(long *)(lVar6 + 0x28);" (assignment_expression "lVar12 = *(long *)(lVar6 + 0x28)" identifier = (pointer_expression "*(long *)(lVar6 + 0x28)" * (cast_expression "(long *)(lVar6 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar13 = lVar12 + 0x3f;" (assignment_expression "lVar13 = lVar12 + 0x3f" identifier = (binary_expression "lVar12 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }" if (parenthesized_expression "(-1 < lVar12)" ( (binary_expression "-1 < lVar12" number_literal < identifier) )) (compound_statement "{\n      lVar13 = lVar12;\n    }" { (expression_statement "lVar13 = lVar12;" (assignment_expression "lVar13 = lVar12" identifier = identifier) ;) })) (expression_statement "bVar4 = 0x7f < lVar12;" (assignment_expression "bVar4 = 0x7f < lVar12" identifier = (binary_expression "0x7f < lVar12" number_literal < identifier)) ;) (if_statement "if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }" if (parenthesized_expression "(lVar11 < lVar13 >> 6)" ( (binary_expression "lVar11 < lVar13 >> 6" identifier < (binary_expression "lVar13 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }" { (expression_statement "lVar12 = GetMagickResourceLimit(7);" (assignment_expression "lVar12 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "bVar4 = 1 < lVar12;" (assignment_expression "bVar4 = 1 < lVar12" identifier = (binary_expression "1 < lVar12" number_literal < identifier)) ;) })) (expression_statement "lVar12 = 1;" (assignment_expression "lVar12 = 1" identifier = number_literal) ;) (if_statement "if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }" if (parenthesized_expression "(bVar4)" ( identifier )) (compound_statement "{\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }" { (expression_statement "lVar11 = GetMagickResourceLimit(7);" (assignment_expression "lVar11 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar13 = *(long *)(lVar6 + 0x28);" (assignment_expression "lVar13 = *(long *)(lVar6 + 0x28)" identifier = (pointer_expression "*(long *)(lVar6 + 0x28)" * (cast_expression "(long *)(lVar6 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x28)" ( (binary_expression "lVar6 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "lVar12 = lVar13 + 0x3f;" (assignment_expression "lVar12 = lVar13 + 0x3f" identifier = (binary_expression "lVar13 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }" if (parenthesized_expression "(-1 < lVar13)" ( (binary_expression "-1 < lVar13" number_literal < identifier) )) (compound_statement "{\n        lVar12 = lVar13;\n      }" { (expression_statement "lVar12 = lVar13;" (assignment_expression "lVar12 = lVar13" identifier = identifier) ;) })) (expression_statement "lVar12 = lVar12 >> 6;" (assignment_expression "lVar12 = lVar12 >> 6" identifier = (binary_expression "lVar12 >> 6" identifier >> number_literal)) ;) (if_statement "if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }" if (parenthesized_expression "(lVar11 < lVar12)" ( (binary_expression "lVar11 < lVar12" identifier < identifier) )) (compound_statement "{\n        lVar12 = GetMagickResourceLimit(7);\n      }" { (expression_statement "lVar12 = GetMagickResourceLimit(7);" (assignment_expression "lVar12 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) })) }) (else_clause "else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }" else (compound_statement "{\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }" { (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (compound_statement "{\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }" { (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar12 = 1;" (assignment_expression "lVar12 = 1" identifier = number_literal) ;) (if_statement "if (uVar9 < 2) goto LAB_002dc3f6;" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (goto_statement "goto LAB_002dc3f6;" goto statement_identifier ;)) })) (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "lVar12 = 2;" (assignment_expression "lVar12 = 2" identifier = number_literal) ;) (if_statement "if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (compound_statement "{\n      lVar12 = GetMagickResourceLimit(7);\n    }" { (expression_statement "lVar12 = GetMagickResourceLimit(7);" (assignment_expression "lVar12 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) }))) (labeled_statement "LAB_002dc3f6:\n  local_50 = &local_80;" statement_identifier : (expression_statement "local_50 = &local_80;" (assignment_expression "local_50 = &local_80" identifier = (pointer_expression "&local_80" & identifier)) ;)) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (expression_statement "local_78 = param_1;" (assignment_expression "local_78 = param_1" identifier = identifier) ;) (expression_statement "local_70 = param_2;" (assignment_expression "local_70 = param_2" identifier = identifier) ;) (expression_statement "local_68 = uVar8;" (assignment_expression "local_68 = uVar8" identifier = identifier) ;) (expression_statement "local_60 = uVar7;" (assignment_expression "local_60 = uVar7" identifier = identifier) ;) (expression_statement "local_58 = lVar6;" (assignment_expression "local_58 = lVar6" identifier = identifier) ;) (expression_statement "GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);" (call_expression "GOMP_parallel(FUN_002d8962,&local_78,lVar12,0)" identifier (argument_list "(FUN_002d8962,&local_78,lVar12,0)" ( identifier , (pointer_expression "&local_78" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar5 = local_48;" (assignment_expression "iVar5 = local_48" identifier = identifier) ;) (expression_statement "DestroyCacheView(uVar8);" (call_expression "DestroyCacheView(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))) ;) (expression_statement "DestroyCacheView(uVar7);" (call_expression "DestroyCacheView(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);" (assignment_expression "*(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800)" (pointer_expression "*(undefined4 *)(lVar6 + 800)" * (cast_expression "(undefined4 *)(lVar6 + 800)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 800)" ( (binary_expression "lVar6 + 800" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(param_1 + 800)" * (cast_expression "(undefined4 *)(param_1 + 800)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 800)" ( (binary_expression "param_1 + 800" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }" { (expression_statement "lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;" (assignment_expression "lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10" identifier = (binary_expression "(lVar1 - *(long *)(lVar6 + 0x20)) - lVar10" (parenthesized_expression "(lVar1 - *(long *)(lVar6 + 0x20))" ( (binary_expression "lVar1 - *(long *)(lVar6 + 0x20)" identifier - (pointer_expression "*(long *)(lVar6 + 0x20)" * (cast_expression "(long *)(lVar6 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x20)" ( (binary_expression "lVar6 + 0x20" identifier + number_literal) ))))) )) - identifier)) ;) })) (expression_statement "*(long *)(lVar6 + 600) = lVar1;" (assignment_expression "*(long *)(lVar6 + 600) = lVar1" (pointer_expression "*(long *)(lVar6 + 600)" * (cast_expression "(long *)(lVar6 + 600)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 600)" ( (binary_expression "lVar6 + 600" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar6 + 0x260) = uVar2;" (assignment_expression "*(undefined8 *)(lVar6 + 0x260) = uVar2" (pointer_expression "*(undefined8 *)(lVar6 + 0x260)" * (cast_expression "(undefined8 *)(lVar6 + 0x260)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x260)" ( (binary_expression "lVar6 + 0x260" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(lVar6 + 0x268) = lVar10;" (assignment_expression "*(long *)(lVar6 + 0x268) = lVar10" (pointer_expression "*(long *)(lVar6 + 0x268)" * (cast_expression "(long *)(lVar6 + 0x268)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x268)" ( (binary_expression "lVar6 + 0x268" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 *)(lVar6 + 0x270) = uVar3;" (assignment_expression "*(undefined8 *)(lVar6 + 0x270) = uVar3" (pointer_expression "*(undefined8 *)(lVar6 + 0x270)" * (cast_expression "(undefined8 *)(lVar6 + 0x270)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x270)" ( (binary_expression "lVar6 + 0x270" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    lVar6 = DestroyImage(lVar6);\n  }" { (expression_statement "lVar6 = DestroyImage(lVar6);" (assignment_expression "lVar6 = DestroyImage(lVar6)" identifier = (call_expression "DestroyImage(lVar6)" identifier (argument_list "(lVar6)" ( identifier )))) ;) })) (labeled_statement "LAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" statement_identifier : (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" if (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" ( (binary_expression "local_40 != *(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 lVar6;" return identifier ;) })))
(translation_unit (function_definition (sized_type_specifier long) (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE 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 (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 (pointer_declarator * 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 (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 (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 , (pointer_expression & IDENT) , (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 (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 ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 = (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 , 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 = (pointer_expression & IDENT)) ;)) (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 (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 ))) ;) (expression_statement (call_expression IDENT (argument_list ( 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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 (sized_type_specifier long) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) })) (labeled_statement statement_identifier : (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 FlopImage(long param_1,long param_2)\n\n{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  ulong uVar9;\n  long lVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  undefined8 local_80;\n  long local_78;\n  long local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  long local_58;\n  undefined8 *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  lVar6 = CloneImage(param_1,0,0,1,param_2);\n  if (lVar6 == 0) goto LAB_002dc4a0;\n  local_80 = 0;\n  lVar1 = *(long *)(param_1 + 600);\n  uVar2 = *(undefined8 *)(param_1 + 0x260);\n  lVar10 = *(long *)(param_1 + 0x268);\n  uVar3 = *(undefined8 *)(param_1 + 0x270);\n  uVar7 = AcquireVirtualCacheView(param_1,param_2);\n  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);\n  iVar5 = GetImagePixelCacheType(param_1);\n  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &local_80;\n  local_48 = 1;\n  local_78 = param_1;\n  local_70 = param_2;\n  local_68 = uVar8;\n  local_60 = uVar7;\n  local_58 = lVar6;\n  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);\n  iVar5 = local_48;\n  DestroyCacheView(uVar8);\n  DestroyCacheView(uVar7);\n  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);\n  if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }\n  *(long *)(lVar6 + 600) = lVar1;\n  *(undefined8 *)(lVar6 + 0x260) = uVar2;\n  *(long *)(lVar6 + 0x268) = lVar10;\n  *(undefined8 *)(lVar6 + 0x270) = uVar3;\n  if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar6;\n}" (sized_type_specifier "long" (long "long")) (function_declarator "FlopImage(long param_1,long param_2)" (identifier "FlopImage") (parameter_list "(long param_1,long param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) () ")"))) (compound_statement "{\n  long lVar1;\n  undefined8 uVar2;\n  undefined8 uVar3;\n  bool bVar4;\n  int iVar5;\n  long lVar6;\n  undefined8 uVar7;\n  undefined8 uVar8;\n  ulong uVar9;\n  long lVar10;\n  long lVar11;\n  long lVar12;\n  long lVar13;\n  long in_FS_OFFSET;\n  undefined8 local_80;\n  long local_78;\n  long local_70;\n  undefined8 local_68;\n  undefined8 local_60;\n  long local_58;\n  undefined8 *local_50;\n  int local_48;\n  long local_40;\n  \n  local_40 = *(long *)(in_FS_OFFSET + 0x28);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }\n  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }\n  if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }\n  if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }\n  lVar6 = CloneImage(param_1,0,0,1,param_2);\n  if (lVar6 == 0) goto LAB_002dc4a0;\n  local_80 = 0;\n  lVar1 = *(long *)(param_1 + 600);\n  uVar2 = *(undefined8 *)(param_1 + 0x260);\n  lVar10 = *(long *)(param_1 + 0x268);\n  uVar3 = *(undefined8 *)(param_1 + 0x270);\n  uVar7 = AcquireVirtualCacheView(param_1,param_2);\n  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);\n  iVar5 = GetImagePixelCacheType(param_1);\n  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }\nLAB_002dc3f6:\n  local_50 = &local_80;\n  local_48 = 1;\n  local_78 = param_1;\n  local_70 = param_2;\n  local_68 = uVar8;\n  local_60 = uVar7;\n  local_58 = lVar6;\n  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);\n  iVar5 = local_48;\n  DestroyCacheView(uVar8);\n  DestroyCacheView(uVar7);\n  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);\n  if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }\n  *(long *)(lVar6 + 600) = lVar1;\n  *(undefined8 *)(lVar6 + 0x260) = uVar2;\n  *(long *)(lVar6 + 0x268) = lVar10;\n  *(undefined8 *)(lVar6 + 0x270) = uVar3;\n  if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }\nLAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }\n  return lVar6;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "undefined8 uVar2;" (type_identifier "undefined8") (identifier "uVar2") (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (declaration "bool bVar4;" (primitive_type "bool") (identifier "bVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "undefined8 uVar7;" (type_identifier "undefined8") (identifier "uVar7") (; ";")) (declaration "undefined8 uVar8;" (type_identifier "undefined8") (identifier "uVar8") (; ";")) (declaration "ulong uVar9;" (type_identifier "ulong") (identifier "uVar9") (; ";")) (declaration "long lVar10;" (sized_type_specifier "long" (long "long")) (identifier "lVar10") (; ";")) (declaration "long lVar11;" (sized_type_specifier "long" (long "long")) (identifier "lVar11") (; ";")) (declaration "long lVar12;" (sized_type_specifier "long" (long "long")) (identifier "lVar12") (; ";")) (declaration "long lVar13;" (sized_type_specifier "long" (long "long")) (identifier "lVar13") (; ";")) (declaration "long in_FS_OFFSET;" (sized_type_specifier "long" (long "long")) (identifier "in_FS_OFFSET") (; ";")) (declaration "undefined8 local_80;" (type_identifier "undefined8") (identifier "local_80") (; ";")) (declaration "long local_78;" (sized_type_specifier "long" (long "long")) (identifier "local_78") (; ";")) (declaration "long local_70;" (sized_type_specifier "long" (long "long")) (identifier "local_70") (; ";")) (declaration "undefined8 local_68;" (type_identifier "undefined8") (identifier "local_68") (; ";")) (declaration "undefined8 local_60;" (type_identifier "undefined8") (identifier "local_60") (; ";")) (declaration "long local_58;" (sized_type_specifier "long" (long "long")) (identifier "local_58") (; ";")) (declaration "undefined8 *local_50;" (type_identifier "undefined8") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (expression_statement "local_40 = *(long *)(in_FS_OFFSET + 0x28);" (assignment_expression "local_40 = *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (= "=") (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 != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\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 != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");\n  }" ({ "{") (expression_statement "__assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");" (call_expression "__assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage")" (identifier "__assert_fail") (argument_list "("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage")" (( "(") (string_literal ""image != (const Image *) NULL"" (" """) (string_content "image != (const Image *) NULL") (" """)) (, ",") (string_literal ""MagickCore/transform.c"" (" """) (string_content "MagickCore/transform.c") (" """)) (, ",") (number_literal "0x543") (, ",") (string_literal ""FlopImage"" (" """) (string_content "FlopImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_1 + 0x3450) != 0xabacadab) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x3450) != 0xabacadab)" (( "(") (binary_expression "*(long *)(param_1 + 0x3450) != 0xabacadab" (pointer_expression "*(long *)(param_1 + 0x3450)" (* "*") (cast_expression "(long *)(param_1 + 0x3450)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3450)" (( "(") (binary_expression "param_1 + 0x3450" (identifier "param_1") (+ "+") (number_literal "0x3450")) () ")")))) (!= "!=") (number_literal "0xabacadab")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");\n  }" ({ "{") (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage")" (identifier "__assert_fail") (argument_list "("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,\n                  "FlopImage")" (( "(") (string_literal ""image->signature == MagickCoreSignature"" (" """) (string_content "image->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/transform.c"" (" """) (string_content "MagickCore/transform.c") (" """)) (, ",") (number_literal "0x544") (, ",") (string_literal ""FlopImage"" (" """) (string_content "FlopImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3418) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3418) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3418) != 0" (pointer_expression "*(int *)(param_1 + 0x3418)" (* "*") (cast_expression "(int *)(param_1 + 0x3418)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3418)" (( "(") (binary_expression "param_1 + 0x3418" (identifier "param_1") (+ "+") (number_literal "0x3418")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8);" (call_expression "LogMagickEvent(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8)" (identifier "LogMagickEvent") (argument_list "(0x8000,"MagickCore/transform.c","FlopImage",0x546,&DAT_0041fe36,param_1 + 0x3f8)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""MagickCore/transform.c"" (" """) (string_content "MagickCore/transform.c") (" """)) (, ",") (string_literal ""FlopImage"" (" """) (string_content "FlopImage") (" """)) (, ",") (number_literal "0x546") (, ",") (pointer_expression "&DAT_0041fe36" (& "&") (identifier "DAT_0041fe36")) (, ",") (binary_expression "param_1 + 0x3f8" (identifier "param_1") (+ "+") (number_literal "0x3f8")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage")" (identifier "__assert_fail") (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage")" (( "(") (string_literal ""exception != (ExceptionInfo *) NULL"" (" """) (string_content "exception != (ExceptionInfo *) NULL") (" """)) (, ",") (string_literal ""MagickCore/transform.c"" (" """) (string_content "MagickCore/transform.c") (" """)) (, ",") (number_literal "0x547") (, ",") (string_literal ""FlopImage"" (" """) (string_content "FlopImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(param_2 + 0x30) != 0xabacadab) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }" (if "if") (parenthesized_expression "(*(long *)(param_2 + 0x30) != 0xabacadab)" (( "(") (binary_expression "*(long *)(param_2 + 0x30) != 0xabacadab" (pointer_expression "*(long *)(param_2 + 0x30)" (* "*") (cast_expression "(long *)(param_2 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x30)" (( "(") (binary_expression "param_2 + 0x30" (identifier "param_2") (+ "+") (number_literal "0x30")) () ")")))) (!= "!=") (number_literal "0xabacadab")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage")" (identifier "__assert_fail") (argument_list "("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,\n                  "FlopImage")" (( "(") (string_literal ""exception->signature == MagickCoreSignature"" (" """) (string_content "exception->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/transform.c"" (" """) (string_content "MagickCore/transform.c") (" """)) (, ",") (number_literal "0x548") (, ",") (string_literal ""FlopImage"" (" """) (string_content "FlopImage") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar6 = CloneImage(param_1,0,0,1,param_2);" (assignment_expression "lVar6 = CloneImage(param_1,0,0,1,param_2)" (identifier "lVar6") (= "=") (call_expression "CloneImage(param_1,0,0,1,param_2)" (identifier "CloneImage") (argument_list "(param_1,0,0,1,param_2)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (lVar6 == 0) goto LAB_002dc4a0;" (if "if") (parenthesized_expression "(lVar6 == 0)" (( "(") (binary_expression "lVar6 == 0" (identifier "lVar6") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002dc4a0;" (goto "goto") (statement_identifier "LAB_002dc4a0") (; ";"))) (expression_statement "local_80 = 0;" (assignment_expression "local_80 = 0" (identifier "local_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar1 = *(long *)(param_1 + 600);" (assignment_expression "lVar1 = *(long *)(param_1 + 600)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(param_1 + 600)" (* "*") (cast_expression "(long *)(param_1 + 600)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 600)" (( "(") (binary_expression "param_1 + 600" (identifier "param_1") (+ "+") (number_literal "600")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined8 *)(param_1 + 0x260);" (assignment_expression "uVar2 = *(undefined8 *)(param_1 + 0x260)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x260)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x260)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x260)" (( "(") (binary_expression "param_1 + 0x260" (identifier "param_1") (+ "+") (number_literal "0x260")) () ")"))))) (; ";")) (expression_statement "lVar10 = *(long *)(param_1 + 0x268);" (assignment_expression "lVar10 = *(long *)(param_1 + 0x268)" (identifier "lVar10") (= "=") (pointer_expression "*(long *)(param_1 + 0x268)" (* "*") (cast_expression "(long *)(param_1 + 0x268)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x268)" (( "(") (binary_expression "param_1 + 0x268" (identifier "param_1") (+ "+") (number_literal "0x268")) () ")"))))) (; ";")) (expression_statement "uVar3 = *(undefined8 *)(param_1 + 0x270);" (assignment_expression "uVar3 = *(undefined8 *)(param_1 + 0x270)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined8 *)(param_1 + 0x270)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x270)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x270)" (( "(") (binary_expression "param_1 + 0x270" (identifier "param_1") (+ "+") (number_literal "0x270")) () ")"))))) (; ";")) (expression_statement "uVar7 = AcquireVirtualCacheView(param_1,param_2);" (assignment_expression "uVar7 = AcquireVirtualCacheView(param_1,param_2)" (identifier "uVar7") (= "=") (call_expression "AcquireVirtualCacheView(param_1,param_2)" (identifier "AcquireVirtualCacheView") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar8 = AcquireAuthenticCacheView(lVar6,param_2);" (assignment_expression "uVar8 = AcquireAuthenticCacheView(lVar6,param_2)" (identifier "uVar8") (= "=") (call_expression "AcquireAuthenticCacheView(lVar6,param_2)" (identifier "AcquireAuthenticCacheView") (argument_list "(lVar6,param_2)" (( "(") (identifier "lVar6") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar5 = GetImagePixelCacheType(param_1);" (assignment_expression "iVar5 = GetImagePixelCacheType(param_1)" (identifier "iVar5") (= "=") (call_expression "GetImagePixelCacheType(param_1)" (identifier "GetImagePixelCacheType") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }" (if "if") (parenthesized_expression "(((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3))))" (( "(") (binary_expression "((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&\n     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))" (parenthesized_expression "((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3))" (( "(") (binary_expression "(iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)" (parenthesized_expression "(iVar5 == 4)" (( "(") (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)" (( "(") (comma_expression "iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3" (assignment_expression "iVar5 = GetImagePixelCacheType(param_1)" (identifier "iVar5") (= "=") (call_expression "GetImagePixelCacheType(param_1)" (identifier "GetImagePixelCacheType") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))" (( "(") (parenthesized_expression "(iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3))" (( "(") (comma_expression "iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)" (assignment_expression "iVar5 = GetImagePixelCacheType(lVar6)" (identifier "iVar5") (= "=") (call_expression "GetImagePixelCacheType(lVar6)" (identifier "GetImagePixelCacheType") (argument_list "(lVar6)" (( "(") (identifier "lVar6") () ")")))) (, ",") (binary_expression "iVar5 == 4 ||\n      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)" (binary_expression "iVar5 == 4" (identifier "iVar5") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)" (( "(") (comma_expression "iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3" (assignment_expression "iVar5 = GetImagePixelCacheType(lVar6)" (identifier "iVar5") (= "=") (call_expression "GetImagePixelCacheType(lVar6)" (identifier "GetImagePixelCacheType") (argument_list "(lVar6)" (( "(") (identifier "lVar6") () ")")))) (, ",") (binary_expression "iVar5 == 3" (identifier "iVar5") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    lVar11 = GetMagickResourceLimit(7);\n    lVar12 = *(long *)(lVar6 + 0x28);\n    lVar13 = lVar12 + 0x3f;\n    if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }\n    bVar4 = 0x7f < lVar12;\n    if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }\n    lVar12 = 1;\n    if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }\n  }" ({ "{") (expression_statement "lVar11 = GetMagickResourceLimit(7);" (assignment_expression "lVar11 = GetMagickResourceLimit(7)" (identifier "lVar11") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "lVar12 = *(long *)(lVar6 + 0x28);" (assignment_expression "lVar12 = *(long *)(lVar6 + 0x28)" (identifier "lVar12") (= "=") (pointer_expression "*(long *)(lVar6 + 0x28)" (* "*") (cast_expression "(long *)(lVar6 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x28)" (( "(") (binary_expression "lVar6 + 0x28" (identifier "lVar6") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "lVar13 = lVar12 + 0x3f;" (assignment_expression "lVar13 = lVar12 + 0x3f" (identifier "lVar13") (= "=") (binary_expression "lVar12 + 0x3f" (identifier "lVar12") (+ "+") (number_literal "0x3f"))) (; ";")) (if_statement "if (-1 < lVar12) {\n      lVar13 = lVar12;\n    }" (if "if") (parenthesized_expression "(-1 < lVar12)" (( "(") (binary_expression "-1 < lVar12" (number_literal "-1") (< "<") (identifier "lVar12")) () ")")) (compound_statement "{\n      lVar13 = lVar12;\n    }" ({ "{") (expression_statement "lVar13 = lVar12;" (assignment_expression "lVar13 = lVar12" (identifier "lVar13") (= "=") (identifier "lVar12")) (; ";")) (} "}"))) (expression_statement "bVar4 = 0x7f < lVar12;" (assignment_expression "bVar4 = 0x7f < lVar12" (identifier "bVar4") (= "=") (binary_expression "0x7f < lVar12" (number_literal "0x7f") (< "<") (identifier "lVar12"))) (; ";")) (if_statement "if (lVar11 < lVar13 >> 6) {\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }" (if "if") (parenthesized_expression "(lVar11 < lVar13 >> 6)" (( "(") (binary_expression "lVar11 < lVar13 >> 6" (identifier "lVar11") (< "<") (binary_expression "lVar13 >> 6" (identifier "lVar13") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n      lVar12 = GetMagickResourceLimit(7);\n      bVar4 = 1 < lVar12;\n    }" ({ "{") (expression_statement "lVar12 = GetMagickResourceLimit(7);" (assignment_expression "lVar12 = GetMagickResourceLimit(7)" (identifier "lVar12") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "bVar4 = 1 < lVar12;" (assignment_expression "bVar4 = 1 < lVar12" (identifier "bVar4") (= "=") (binary_expression "1 < lVar12" (number_literal "1") (< "<") (identifier "lVar12"))) (; ";")) (} "}"))) (expression_statement "lVar12 = 1;" (assignment_expression "lVar12 = 1" (identifier "lVar12") (= "=") (number_literal "1")) (; ";")) (if_statement "if (bVar4) {\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }" (if "if") (parenthesized_expression "(bVar4)" (( "(") (identifier "bVar4") () ")")) (compound_statement "{\n      lVar11 = GetMagickResourceLimit(7);\n      lVar13 = *(long *)(lVar6 + 0x28);\n      lVar12 = lVar13 + 0x3f;\n      if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }\n      lVar12 = lVar12 >> 6;\n      if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }\n    }" ({ "{") (expression_statement "lVar11 = GetMagickResourceLimit(7);" (assignment_expression "lVar11 = GetMagickResourceLimit(7)" (identifier "lVar11") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "lVar13 = *(long *)(lVar6 + 0x28);" (assignment_expression "lVar13 = *(long *)(lVar6 + 0x28)" (identifier "lVar13") (= "=") (pointer_expression "*(long *)(lVar6 + 0x28)" (* "*") (cast_expression "(long *)(lVar6 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x28)" (( "(") (binary_expression "lVar6 + 0x28" (identifier "lVar6") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "lVar12 = lVar13 + 0x3f;" (assignment_expression "lVar12 = lVar13 + 0x3f" (identifier "lVar12") (= "=") (binary_expression "lVar13 + 0x3f" (identifier "lVar13") (+ "+") (number_literal "0x3f"))) (; ";")) (if_statement "if (-1 < lVar13) {\n        lVar12 = lVar13;\n      }" (if "if") (parenthesized_expression "(-1 < lVar13)" (( "(") (binary_expression "-1 < lVar13" (number_literal "-1") (< "<") (identifier "lVar13")) () ")")) (compound_statement "{\n        lVar12 = lVar13;\n      }" ({ "{") (expression_statement "lVar12 = lVar13;" (assignment_expression "lVar12 = lVar13" (identifier "lVar12") (= "=") (identifier "lVar13")) (; ";")) (} "}"))) (expression_statement "lVar12 = lVar12 >> 6;" (assignment_expression "lVar12 = lVar12 >> 6" (identifier "lVar12") (= "=") (binary_expression "lVar12 >> 6" (identifier "lVar12") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (lVar11 < lVar12) {\n        lVar12 = GetMagickResourceLimit(7);\n      }" (if "if") (parenthesized_expression "(lVar11 < lVar12)" (( "(") (binary_expression "lVar11 < lVar12" (identifier "lVar11") (< "<") (identifier "lVar12")) () ")")) (compound_statement "{\n        lVar12 = GetMagickResourceLimit(7);\n      }" ({ "{") (expression_statement "lVar12 = GetMagickResourceLimit(7);" (assignment_expression "lVar12 = GetMagickResourceLimit(7)" (identifier "lVar12") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }" (else "else") (compound_statement "{\n    uVar9 = GetMagickResourceLimit(7);\n    if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    lVar12 = 2;\n    if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }\n  }" ({ "{") (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" (identifier "uVar9") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (uVar9 < 2) {\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }" (if "if") (parenthesized_expression "(uVar9 < 2)" (( "(") (binary_expression "uVar9 < 2" (identifier "uVar9") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      uVar9 = GetMagickResourceLimit(7);\n      lVar12 = 1;\n      if (uVar9 < 2) goto LAB_002dc3f6;\n    }" ({ "{") (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" (identifier "uVar9") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "lVar12 = 1;" (assignment_expression "lVar12 = 1" (identifier "lVar12") (= "=") (number_literal "1")) (; ";")) (if_statement "if (uVar9 < 2) goto LAB_002dc3f6;" (if "if") (parenthesized_expression "(uVar9 < 2)" (( "(") (binary_expression "uVar9 < 2" (identifier "uVar9") (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_002dc3f6;" (goto "goto") (statement_identifier "LAB_002dc3f6") (; ";"))) (} "}"))) (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" (identifier "uVar9") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "lVar12 = 2;" (assignment_expression "lVar12 = 2" (identifier "lVar12") (= "=") (number_literal "2")) (; ";")) (if_statement "if (uVar9 < 2) {\n      lVar12 = GetMagickResourceLimit(7);\n    }" (if "if") (parenthesized_expression "(uVar9 < 2)" (( "(") (binary_expression "uVar9 < 2" (identifier "uVar9") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      lVar12 = GetMagickResourceLimit(7);\n    }" ({ "{") (expression_statement "lVar12 = GetMagickResourceLimit(7);" (assignment_expression "lVar12 = GetMagickResourceLimit(7)" (identifier "lVar12") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_002dc3f6:\n  local_50 = &local_80;" (statement_identifier "LAB_002dc3f6") (: ":") (expression_statement "local_50 = &local_80;" (assignment_expression "local_50 = &local_80" (identifier "local_50") (= "=") (pointer_expression "&local_80" (& "&") (identifier "local_80"))) (; ";"))) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" (identifier "local_48") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_78 = param_1;" (assignment_expression "local_78 = param_1" (identifier "local_78") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_70 = param_2;" (assignment_expression "local_70 = param_2" (identifier "local_70") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_68 = uVar8;" (assignment_expression "local_68 = uVar8" (identifier "local_68") (= "=") (identifier "uVar8")) (; ";")) (expression_statement "local_60 = uVar7;" (assignment_expression "local_60 = uVar7" (identifier "local_60") (= "=") (identifier "uVar7")) (; ";")) (expression_statement "local_58 = lVar6;" (assignment_expression "local_58 = lVar6" (identifier "local_58") (= "=") (identifier "lVar6")) (; ";")) (expression_statement "GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);" (call_expression "GOMP_parallel(FUN_002d8962,&local_78,lVar12,0)" (identifier "GOMP_parallel") (argument_list "(FUN_002d8962,&local_78,lVar12,0)" (( "(") (identifier "FUN_002d8962") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) (, ",") (identifier "lVar12") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar5 = local_48;" (assignment_expression "iVar5 = local_48" (identifier "iVar5") (= "=") (identifier "local_48")) (; ";")) (expression_statement "DestroyCacheView(uVar8);" (call_expression "DestroyCacheView(uVar8)" (identifier "DestroyCacheView") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "DestroyCacheView(uVar7);" (call_expression "DestroyCacheView(uVar7)" (identifier "DestroyCacheView") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);" (assignment_expression "*(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800)" (pointer_expression "*(undefined4 *)(lVar6 + 800)" (* "*") (cast_expression "(undefined4 *)(lVar6 + 800)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 800)" (( "(") (binary_expression "lVar6 + 800" (identifier "lVar6") (+ "+") (number_literal "800")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(param_1 + 800)" (* "*") (cast_expression "(undefined4 *)(param_1 + 800)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 800)" (( "(") (binary_expression "param_1 + 800" (identifier "param_1") (+ "+") (number_literal "800")) () ")"))))) (; ";")) (if_statement "if (lVar1 != 0) {\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }" (if "if") (parenthesized_expression "(lVar1 != 0)" (( "(") (binary_expression "lVar1 != 0" (identifier "lVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;\n  }" ({ "{") (expression_statement "lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;" (assignment_expression "lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10" (identifier "lVar10") (= "=") (binary_expression "(lVar1 - *(long *)(lVar6 + 0x20)) - lVar10" (parenthesized_expression "(lVar1 - *(long *)(lVar6 + 0x20))" (( "(") (binary_expression "lVar1 - *(long *)(lVar6 + 0x20)" (identifier "lVar1") (- "-") (pointer_expression "*(long *)(lVar6 + 0x20)" (* "*") (cast_expression "(long *)(lVar6 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x20)" (( "(") (binary_expression "lVar6 + 0x20" (identifier "lVar6") (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (- "-") (identifier "lVar10"))) (; ";")) (} "}"))) (expression_statement "*(long *)(lVar6 + 600) = lVar1;" (assignment_expression "*(long *)(lVar6 + 600) = lVar1" (pointer_expression "*(long *)(lVar6 + 600)" (* "*") (cast_expression "(long *)(lVar6 + 600)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 600)" (( "(") (binary_expression "lVar6 + 600" (identifier "lVar6") (+ "+") (number_literal "600")) () ")")))) (= "=") (identifier "lVar1")) (; ";")) (expression_statement "*(undefined8 *)(lVar6 + 0x260) = uVar2;" (assignment_expression "*(undefined8 *)(lVar6 + 0x260) = uVar2" (pointer_expression "*(undefined8 *)(lVar6 + 0x260)" (* "*") (cast_expression "(undefined8 *)(lVar6 + 0x260)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x260)" (( "(") (binary_expression "lVar6 + 0x260" (identifier "lVar6") (+ "+") (number_literal "0x260")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "*(long *)(lVar6 + 0x268) = lVar10;" (assignment_expression "*(long *)(lVar6 + 0x268) = lVar10" (pointer_expression "*(long *)(lVar6 + 0x268)" (* "*") (cast_expression "(long *)(lVar6 + 0x268)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x268)" (( "(") (binary_expression "lVar6 + 0x268" (identifier "lVar6") (+ "+") (number_literal "0x268")) () ")")))) (= "=") (identifier "lVar10")) (; ";")) (expression_statement "*(undefined8 *)(lVar6 + 0x270) = uVar3;" (assignment_expression "*(undefined8 *)(lVar6 + 0x270) = uVar3" (pointer_expression "*(undefined8 *)(lVar6 + 0x270)" (* "*") (cast_expression "(undefined8 *)(lVar6 + 0x270)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x270)" (( "(") (binary_expression "lVar6 + 0x270" (identifier "lVar6") (+ "+") (number_literal "0x270")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (if_statement "if (iVar5 == 0) {\n    lVar6 = DestroyImage(lVar6);\n  }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    lVar6 = DestroyImage(lVar6);\n  }" ({ "{") (expression_statement "lVar6 = DestroyImage(lVar6);" (assignment_expression "lVar6 = DestroyImage(lVar6)" (identifier "lVar6") (= "=") (call_expression "DestroyImage(lVar6)" (identifier "DestroyImage") (argument_list "(lVar6)" (( "(") (identifier "lVar6") () ")")))) (; ";")) (} "}"))) (labeled_statement "LAB_002dc4a0:\n  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (statement_identifier "LAB_002dc4a0") (: ":") (if_statement "if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {\n                    \n    __stack_chk_fail();\n  }" (if "if") (parenthesized_expression "(local_40 != *(long *)(in_FS_OFFSET + 0x28))" (( "(") (binary_expression "local_40 != *(long *)(in_FS_OFFSET + 0x28)" (identifier "local_40") (!= "!=") (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 lVar6;" (return "return") (identifier "lVar6") (; ";")) (} "}")))

/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* 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_1 *var_2,type_2 *var_6)

{
  size_t var_21;
  size_t sVar2;
  ssize_t sVar3;
  size_t var_16;
  bool bVar5;
  int var_23;
  type_3 var_12;
  type_1 *var_8;
  type_4 *cache_view;
  type_4 *cache_view_00;
  type_5 var_17;
  type_5 var_18;
  long var_22;
  size_t sVar11;
  long var_1;
  type_6 progress;
  type_1 *local_78;
  type_2 *local_70;
  type_4 *local_68;
  type_4 *local_60;
  type_1 *local_58;
  type_6 *local_50;
  int local_48;
  long var_25;
  
  var_25 = *(long *)(var_1 + 0x28);
  if (var_2 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image != (const Image *) NULL","MagickCore/transform.c",0x543,"FlopImage");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,
                  "FlopImage");
  }
  if (var_2->debug != var_4) {
    var_5(TraceEvent,"MagickCore/transform.c","FlopImage",0x546,"%s",var_2->filename);
  }
  if (var_6 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"FlopImage");
  }
  if (var_6->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,
                  "FlopImage");
  }
  var_8 = var_7(var_2,0,0,MagickTrue,var_6);
  if (var_8 == (type_1 *)0x0) goto LAB_002dc4a0;
  progress = 0;
  var_21 = (var_2->page).width;
  sVar2 = (var_2->page).height;
  var_22 = (var_2->page).x;
  sVar3 = (var_2->page).y;
  cache_view = var_9(var_2,var_6);
  cache_view_00 = var_10(var_8,var_6);
  var_12 = var_11(var_2);
  if (((var_12 == var_13) || (var_12 = var_11(var_2), var_12 == var_14)) &&
     ((var_12 = var_11(var_8), var_12 == var_13 ||
      (var_12 = var_11(var_8), var_12 == var_14)))) {
    var_17 = var_15(ThreadResource);
    var_16 = var_8->rows;
    sVar11 = var_16 + 0x3f;
    if (-1 < (long)var_16) {
      sVar11 = var_16;
    }
    bVar5 = 0x7f < (long)var_16;
    if ((long)var_17 < (long)sVar11 >> 6) {
      var_17 = var_15(ThreadResource);
      bVar5 = 1 < (long)var_17;
    }
    var_17 = 1;
    if (bVar5) {
      var_18 = var_15(ThreadResource);
      var_16 = var_8->rows;
      sVar11 = var_16 + 0x3f;
      if (-1 < (long)var_16) {
        sVar11 = var_16;
      }
      var_17 = (long)sVar11 >> 6;
      if ((long)var_18 < (long)var_17) {
        var_17 = var_15(ThreadResource);
      }
    }
  }
  else {
    var_17 = var_15(ThreadResource);
    if (var_17 < 2) {
      var_18 = var_15(ThreadResource);
      var_17 = 1;
      if (var_18 < 2) goto LAB_002dc3f6;
    }
    var_18 = var_15(ThreadResource);
    var_17 = 2;
    if (var_18 < 2) {
      var_17 = var_15(ThreadResource);
    }
  }
LAB_002dc3f6:
  local_50 = &progress;
  local_48 = 1;
  local_78 = var_2;
  local_70 = var_6;
  local_68 = cache_view_00;
  local_60 = cache_view;
  local_58 = var_8;
  var_19(FlopImage__omp_fn_5,&local_78,var_17,0);
  var_23 = local_48;
  var_20(cache_view_00);
  var_20(cache_view);
  var_8->type = var_2->type;
  if (var_21 != 0) {
    var_22 = (var_21 - var_8->columns) - var_22;
  }
  (var_8->page).width = var_21;
  (var_8->page).height = sVar2;
  (var_8->page).x = var_22;
  (var_8->page).y = sVar3;
  if (var_23 == 0) {
    var_8 = var_24(var_8);
  }
LAB_002dc4a0:
  if (var_25 != *(long *)(var_1 + 0x28)) {
                    /* WARNING: Subroutine does not return */
    var_26();
  }
  return var_8;
}


(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: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (type_identifier) 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: (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: (type_identifier) declarator: (pointer_declarator 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: (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: (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) (pointer_expression argument: (identifier)) (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: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal) (number_literal) (identifier))))) (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: (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: (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: (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: (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) (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: (pointer_expression argument: (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 (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)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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))))))) right: (identifier)))))) (expression_statement (assignment_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: (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: (sized_type_specifier) 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))) (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))))))) (labeled_statement label: (statement_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,long param_2)

{
  long lVar1;
  undefined8 uVar2;
  undefined8 uVar3;
  bool bVar4;
  int iVar5;
  long lVar6;
  undefined8 uVar7;
  undefined8 uVar8;
  ulong uVar9;
  long lVar10;
  long lVar11;
  long lVar12;
  long lVar13;
  long in_FS_OFFSET;
  undefined8 local_80;
  long local_78;
  long local_70;
  undefined8 local_68;
  undefined8 local_60;
  long local_58;
  undefined8 *local_50;
  int local_48;
  long local_40;
  
  local_40 = *(long *)(in_FS_OFFSET + 0x28);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (const Image *) NULL","MagickCore/transform.c",0x543,"MASKED");
  }
  if (*(long *)(param_1 + 0x3450) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/transform.c",0x544,
                  "MASKED");
  }
  if (*(int *)(param_1 + 0x3418) != 0) {
    LogMagickEvent(0x8000,"MagickCore/transform.c","MASKED",0x546,&DAT_0041fe36,param_1 + 0x3f8);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/transform.c",0x547,"MASKED");
  }
  if (*(long *)(param_2 + 0x30) != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/transform.c",0x548,
                  "MASKED");
  }
  lVar6 = CloneImage(param_1,0,0,1,param_2);
  if (lVar6 == 0) goto LAB_002dc4a0;
  local_80 = 0;
  lVar1 = *(long *)(param_1 + 600);
  uVar2 = *(undefined8 *)(param_1 + 0x260);
  lVar10 = *(long *)(param_1 + 0x268);
  uVar3 = *(undefined8 *)(param_1 + 0x270);
  uVar7 = AcquireVirtualCacheView(param_1,param_2);
  uVar8 = AcquireAuthenticCacheView(lVar6,param_2);
  iVar5 = GetImagePixelCacheType(param_1);
  if (((iVar5 == 4) || (iVar5 = GetImagePixelCacheType(param_1), iVar5 == 3)) &&
     ((iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 4 ||
      (iVar5 = GetImagePixelCacheType(lVar6), iVar5 == 3)))) {
    lVar11 = GetMagickResourceLimit(7);
    lVar12 = *(long *)(lVar6 + 0x28);
    lVar13 = lVar12 + 0x3f;
    if (-1 < lVar12) {
      lVar13 = lVar12;
    }
    bVar4 = 0x7f < lVar12;
    if (lVar11 < lVar13 >> 6) {
      lVar12 = GetMagickResourceLimit(7);
      bVar4 = 1 < lVar12;
    }
    lVar12 = 1;
    if (bVar4) {
      lVar11 = GetMagickResourceLimit(7);
      lVar13 = *(long *)(lVar6 + 0x28);
      lVar12 = lVar13 + 0x3f;
      if (-1 < lVar13) {
        lVar12 = lVar13;
      }
      lVar12 = lVar12 >> 6;
      if (lVar11 < lVar12) {
        lVar12 = GetMagickResourceLimit(7);
      }
    }
  }
  else {
    uVar9 = GetMagickResourceLimit(7);
    if (uVar9 < 2) {
      uVar9 = GetMagickResourceLimit(7);
      lVar12 = 1;
      if (uVar9 < 2) goto LAB_002dc3f6;
    }
    uVar9 = GetMagickResourceLimit(7);
    lVar12 = 2;
    if (uVar9 < 2) {
      lVar12 = GetMagickResourceLimit(7);
    }
  }
LAB_002dc3f6:
  local_50 = &local_80;
  local_48 = 1;
  local_78 = param_1;
  local_70 = param_2;
  local_68 = uVar8;
  local_60 = uVar7;
  local_58 = lVar6;
  GOMP_parallel(FUN_002d8962,&local_78,lVar12,0);
  iVar5 = local_48;
  DestroyCacheView(uVar8);
  DestroyCacheView(uVar7);
  *(undefined4 *)(lVar6 + 800) = *(undefined4 *)(param_1 + 800);
  if (lVar1 != 0) {
    lVar10 = (lVar1 - *(long *)(lVar6 + 0x20)) - lVar10;
  }
  *(long *)(lVar6 + 600) = lVar1;
  *(undefined8 *)(lVar6 + 0x260) = uVar2;
  *(long *)(lVar6 + 0x268) = lVar10;
  *(undefined8 *)(lVar6 + 0x270) = uVar3;
  if (iVar5 == 0) {
    lVar6 = DestroyImage(lVar6);
  }
LAB_002dc4a0:
  if (local_40 != *(long *)(in_FS_OFFSET + 0x28)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail();
  }
  return lVar6;
}

