
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* 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 */

MagickBooleanType ClampImage(Image *image,ExceptionInfo *exception)

{
  double dVar1;
  size_t sVar2;
  bool bVar3;
  float fVar4;
  PixelInfo *pPVar5;
  MagickBooleanType MVar6;
  CacheView *cache_view;
  CacheType CVar7;
  int iVar8;
  size_t sVar9;
  int in_GS_OFFSET;
  MagickSizeType MVar10;
  MagickOffsetType progress;
  Image *local_34;
  ExceptionInfo *local_30;
  CacheView *local_2c;
  MagickBooleanType local_28;
  undefined1 *local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1ad6b9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (image == (Image *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");
  }
  if (image->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,
                  "ClampImage");
  }
  if (image->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"MagickCore/threshold.c","ClampImage",0x454,"%s",image->filename);
  }
  if (image->storage_class == PseudoClass) {
    sVar2 = image->colors;
    if (0 < (int)sVar2) {
      sVar9 = 0;
      pPVar5 = image->colormap;
      do {
        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {
          if (DAT_0029f710 <= fVar4) {
            fVar4 = DAT_0029f710;
          }
          pPVar5->red = (double)fVar4;
          dVar1 = pPVar5->green;
          if (dVar1 < 0.0) goto LAB_001ad7b2;
LAB_001ad73a:
          if ((double)DAT_0029f710 <= dVar1) {
            dVar1 = (double)DAT_0029f710;
          }
          pPVar5->green = dVar1;
          dVar1 = pPVar5->blue;
          if (dVar1 < 0.0) goto LAB_001ad7ca;
LAB_001ad754:
          if ((double)DAT_0029f710 <= dVar1) {
            dVar1 = (double)DAT_0029f710;
          }
          pPVar5->blue = dVar1;
          dVar1 = pPVar5->alpha;
          if (dVar1 < 0.0) goto LAB_001ad7e2;
LAB_001ad76e:
          if ((double)DAT_0029f710 <= dVar1) {
            dVar1 = (double)DAT_0029f710;
          }
          sVar9 = sVar9 + 1;
          pPVar5->alpha = dVar1;
          pPVar5 = pPVar5 + 1;
          if (sVar9 == sVar2) goto LAB_001ad7f1;
        }
        pPVar5->red = 0.0;
        dVar1 = pPVar5->green;
        if (0.0 <= dVar1) goto LAB_001ad73a;
LAB_001ad7b2:
        pPVar5->green = 0.0;
        dVar1 = pPVar5->blue;
        if (0.0 <= dVar1) goto LAB_001ad754;
LAB_001ad7ca:
        pPVar5->blue = 0.0;
        dVar1 = pPVar5->alpha;
        if (0.0 <= dVar1) goto LAB_001ad76e;
LAB_001ad7e2:
        sVar9 = sVar9 + 1;
        pPVar5->alpha = 0.0;
        pPVar5 = pPVar5 + 1;
      } while (sVar9 != sVar2);
    }
LAB_001ad7f1:
    MVar6 = SyncImage(image,exception);
    goto LAB_001ad800;
  }
  progress._0_4_ = 0;
  progress._4_4_ = 0;
  cache_view = AcquireAuthenticCacheView(image,exception);
  CVar7 = GetImagePixelCacheType(image);
  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&
     ((CVar7 = GetImagePixelCacheType(image), CVar7 == MemoryCache ||
      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)))) {
    MVar10 = GetMagickResourceLimit(ThreadResource);
    sVar2 = image->rows;
    sVar9 = sVar2 + 0x3f;
    if (-1 < (int)sVar2) {
      sVar9 = sVar2;
    }
    bVar3 = 0x7f < (int)sVar2;
    if ((int)MVar10 < (int)sVar9 >> 6) {
      MVar10 = GetMagickResourceLimit(ThreadResource);
      bVar3 = 1 < (int)MVar10;
    }
    if (bVar3) {
      MVar10 = GetMagickResourceLimit(ThreadResource);
      sVar2 = image->rows;
      sVar9 = sVar2 + 0x3f;
      if (-1 < (int)sVar2) {
        sVar9 = sVar2;
      }
      iVar8 = (int)sVar9 >> 6;
      if ((int)MVar10 < iVar8) {
        MVar10 = GetMagickResourceLimit(ThreadResource);
        iVar8 = (int)MVar10;
      }
    }
    else {
LAB_001ad98f:
      iVar8 = 1;
    }
  }
  else {
    MVar10 = GetMagickResourceLimit(ThreadResource);
    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {
      MVar10 = GetMagickResourceLimit(ThreadResource);
      if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;
    }
    MVar10 = GetMagickResourceLimit(ThreadResource);
    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {
      MVar10 = GetMagickResourceLimit(ThreadResource);
      iVar8 = (int)MVar10;
    }
    else {
      iVar8 = 2;
    }
  }
  local_24 = (undefined1 *)&progress;
  local_34 = image;
  local_30 = exception;
  local_28 = MagickTrue;
  local_2c = cache_view;
  GOMP_parallel(ClampImage__omp_fn_3,&local_34,iVar8,0);
  MVar6 = local_28;
  DestroyCacheView(cache_view);
LAB_001ad800:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return MVar6;
}



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

undefined4 ClampImage(int *param_1,undefined4 param_2)

{
  double dVar1;
  bool bVar2;
  float fVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int in_GS_OFFSET;
  undefined8 uVar9;
  undefined4 local_3c;
  undefined4 local_38;
  int *local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined1 *local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1ad6b9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");
  }
  if (param_1[0xcd1] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,
                  "ClampImage");
  }
  if (param_1[0xcca] != 0) {
    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);
  }
  if (*param_1 == 2) {
    iVar6 = param_1[9];
    if (0 < iVar6) {
      iVar8 = 0;
      iVar7 = param_1[10];
      do {
        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {
          if (DAT_0029f710 <= fVar3) {
            fVar3 = DAT_0029f710;
          }
          *(double *)(iVar7 + 0x20) = (double)fVar3;
          dVar1 = *(double *)(iVar7 + 0x28);
          if (dVar1 < 0.0) goto LAB_001ad7b2;
LAB_001ad73a:
          if ((double)DAT_0029f710 <= dVar1) {
            dVar1 = (double)DAT_0029f710;
          }
          *(double *)(iVar7 + 0x28) = dVar1;
          dVar1 = *(double *)(iVar7 + 0x30);
          if (dVar1 < 0.0) goto LAB_001ad7ca;
LAB_001ad754:
          if ((double)DAT_0029f710 <= dVar1) {
            dVar1 = (double)DAT_0029f710;
          }
          *(double *)(iVar7 + 0x30) = dVar1;
          dVar1 = *(double *)(iVar7 + 0x40);
          if (dVar1 < 0.0) goto LAB_001ad7e2;
LAB_001ad76e:
          if ((double)DAT_0029f710 <= dVar1) {
            dVar1 = (double)DAT_0029f710;
          }
          iVar8 = iVar8 + 1;
          *(double *)(iVar7 + 0x40) = dVar1;
          iVar7 = iVar7 + 0x50;
          if (iVar8 == iVar6) goto LAB_001ad7f1;
        }
        *(undefined8 *)(iVar7 + 0x20) = 0;
        dVar1 = *(double *)(iVar7 + 0x28);
        if (0.0 <= dVar1) goto LAB_001ad73a;
LAB_001ad7b2:
        *(undefined8 *)(iVar7 + 0x28) = 0;
        dVar1 = *(double *)(iVar7 + 0x30);
        if (0.0 <= dVar1) goto LAB_001ad754;
LAB_001ad7ca:
        *(undefined8 *)(iVar7 + 0x30) = 0;
        dVar1 = *(double *)(iVar7 + 0x40);
        if (0.0 <= dVar1) goto LAB_001ad76e;
LAB_001ad7e2:
        iVar8 = iVar8 + 1;
        *(undefined8 *)(iVar7 + 0x40) = 0;
        iVar7 = iVar7 + 0x50;
      } while (iVar8 != iVar6);
    }
LAB_001ad7f1:
    uVar4 = SyncImage(param_1,param_2);
    goto LAB_001ad800;
  }
  local_3c = 0;
  local_38 = 0;
  uVar5 = AcquireAuthenticCacheView(param_1,param_2);
  iVar6 = GetImagePixelCacheType(param_1);
  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&
     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||
      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {
    iVar8 = GetMagickResourceLimit(7);
    iVar6 = param_1[7];
    iVar7 = iVar6 + 0x3f;
    if (-1 < iVar6) {
      iVar7 = iVar6;
    }
    bVar2 = 0x7f < iVar6;
    if (iVar8 < iVar7 >> 6) {
      iVar6 = GetMagickResourceLimit(7);
      bVar2 = 1 < iVar6;
    }
    if (bVar2) {
      iVar8 = GetMagickResourceLimit(7);
      iVar6 = param_1[7];
      iVar7 = iVar6 + 0x3f;
      if (-1 < iVar6) {
        iVar7 = iVar6;
      }
      iVar7 = iVar7 >> 6;
      if (iVar8 < iVar7) {
        iVar7 = GetMagickResourceLimit(7);
      }
    }
    else {
LAB_001ad98f:
      iVar7 = 1;
    }
  }
  else {
    uVar9 = GetMagickResourceLimit(7);
    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {
      uVar9 = GetMagickResourceLimit(7);
      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;
    }
    uVar9 = GetMagickResourceLimit(7);
    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {
      iVar7 = GetMagickResourceLimit(7);
    }
    else {
      iVar7 = 2;
    }
  }
  local_24 = (undefined1 *)&local_3c;
  local_34 = param_1;
  local_30 = param_2;
  local_28 = 1;
  local_2c = uVar5;
  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);
  uVar4 = local_28;
  DestroyCacheView(uVar5);
LAB_001ad800:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return uVar4;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00038830
ADD EBX,0x22b947
SUB ESP,0x2c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x1c],EAX
XOR EAX,EAX
MOV ESI,dword ptr [ESP + 0x40]
MOV EDI,dword ptr [ESP + 0x44]
TEST ESI,ESI
JZ 0x001ada1b
CMP dword ptr [ESI + 0x3344],0xabacadab
JNZ 0x001ada3f
MOV EAX,dword ptr [ESI + 0x3328]
TEST EAX,EAX
JNZ 0x001ad900
CMP dword ptr [ESI],0x2
JNZ 0x001ad820
MOV ECX,dword ptr [ESI + 0x24]
MOV EAX,dword ptr [ESI + 0x28]
TEST ECX,ECX
JLE 0x001ad7f1
XOR EDX,EDX
JMP 0x001ad789
FLD dword ptr [EBX + 0xffec6710]
FXCH
FUCOMI ST0,ST1
FCMOVNB ST0,ST1
FSTP ST1
FSTP qword ptr [EAX + 0x20]
FLD qword ptr [EAX + 0x28]
FLDZ
FUCOMIP ST0,ST1
JA 0x001ad7b0
FLD dword ptr [EBX + 0xffec6710]
FXCH
FUCOMI ST0,ST1
FCMOVNB ST0,ST1
FSTP ST1
FSTP qword ptr [EAX + 0x28]
FLD qword ptr [EAX + 0x30]
FLDZ
FUCOMIP ST0,ST1
JA 0x001ad7c8
FLD dword ptr [EBX + 0xffec6710]
FXCH
FUCOMI ST0,ST1
FCMOVNB ST0,ST1
FSTP ST1
FSTP qword ptr [EAX + 0x30]
FLD qword ptr [EAX + 0x40]
FLDZ
FUCOMIP ST0,ST1
JA 0x001ad7e0
FLD dword ptr [EBX + 0xffec6710]
FXCH
FUCOMI ST0,ST1
FCMOVNB ST0,ST1
FSTP ST1
ADD EDX,0x1
ADD EAX,0x50
FSTP qword ptr [EAX + -0x10]
CMP EDX,ECX
JZ 0x001ad7f1
FLD qword ptr [EAX + 0x20]
FLDZ
FUCOMIP ST0,ST1
JBE 0x001ad720
FSTP ST0
FLDZ
FSTP qword ptr [EAX + 0x20]
FLD qword ptr [EAX + 0x28]
FLDZ
FUCOMIP ST0,ST1
JBE 0x001ad73a
FSTP ST0
JMP 0x001ad7b2
FSTP ST0
FLDZ
FSTP qword ptr [EAX + 0x28]
FLD qword ptr [EAX + 0x30]
FLDZ
FUCOMIP ST0,ST1
JBE 0x001ad754
FSTP ST0
JMP 0x001ad7ca
FSTP ST0
FLDZ
FSTP qword ptr [EAX + 0x30]
FLD qword ptr [EAX + 0x40]
FLDZ
FUCOMIP ST0,ST1
JBE 0x001ad76e
FSTP ST0
JMP 0x001ad7e2
FSTP ST0
FLDZ
ADD EDX,0x1
ADD EAX,0x50
FSTP qword ptr [EAX + -0x10]
CMP EDX,ECX
JNZ 0x001ad789
SUB ESP,0x8
PUSH EDI
PUSH ESI
CALL 0x000334c0
ADD ESP,0x10
MOV ESI,EAX
MOV EDI,dword ptr [ESP + 0x1c]
XOR EDI,dword ptr GS:[0x14]
MOV EAX,ESI
JNZ 0x001ada3a
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV dword ptr [ESP],0x0
SUB ESP,0x8
MOV dword ptr [ESP + 0xc],0x0
PUSH EDI
PUSH ESI
CALL 0x00032fa0
MOV dword ptr [ESP],ESI
MOV EBP,EAX
CALL 0x000318f0
ADD ESP,0x10
CMP EAX,0x4
JZ 0x001ad940
SUB ESP,0xc
PUSH ESI
CALL 0x000318f0
ADD ESP,0x10
CMP EAX,0x3
JZ 0x001ad940
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
CMP EDX,0x0
JA 0x001ad8a0
CMP EAX,0x1
JA 0x001ad8a0
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
CMP EDX,0x0
JA 0x001ad8a0
CMP EAX,0x1
JBE 0x001ad98f
LEA ESI,[ESI]
LEA EDI,[EDI]
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
CMP EDX,0x0
JBE 0x001ad9a0
MOV EAX,0x2
MOV EDX,ESP
MOV dword ptr [ESP + 0x8],ESI
MOV dword ptr [ESP + 0x18],EDX
MOV dword ptr [ESP + 0x10],EBP
MOV dword ptr [ESP + 0xc],EDI
MOV dword ptr [ESP + 0x14],0x1
PUSH 0x0
PUSH EAX
LEA EAX,[ESP + 0x10]
PUSH EAX
LEA EAX,[EBX + 0xffdd16d0]
PUSH EAX
CALL 0x000324d0
MOV ESI,dword ptr [ESP + 0x24]
MOV dword ptr [ESP],EBP
CALL 0x00032f30
ADD ESP,0x10
JMP 0x001ad800
LEA EAX,[ESI + 0x318]
SUB ESP,0x8
PUSH EAX
LEA EAX,[EBX + 0xffedde4e]
PUSH EAX
LEA EAX,[EBX + 0xffef0e94]
PUSH 0x454
PUSH EAX
LEA EAX,[EBX + 0xffef0afe]
PUSH EAX
PUSH 0x8000
CALL 0x000323b0
ADD ESP,0x20
JMP 0x001ad6fc
SUB ESP,0xc
PUSH ESI
CALL 0x000318f0
ADD ESP,0x10
CMP EAX,0x4
JZ 0x001ad966
SUB ESP,0xc
PUSH ESI
CALL 0x000318f0
ADD ESP,0x10
CMP EAX,0x3
JNZ 0x001ad864
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
MOV ECX,dword ptr [ESI + 0x1c]
ADD ESP,0x10
LEA EDX,[ECX + 0x3f]
TEST ECX,ECX
CMOVNS EDX,ECX
SAR EDX,0x6
CMP ECX,0x7f
SETG CL
CMP EDX,EAX
JG 0x001ad9f0
TEST CL,CL
JNZ 0x001ad9c0
MOV EAX,0x1
JMP 0x001ad8bb
CMP EAX,0x1
JA 0x001ad8b6
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
JMP 0x001ad8bb
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
MOV ECX,dword ptr [ESI + 0x1c]
ADD ESP,0x10
LEA EDX,[ECX + 0x3f]
TEST ECX,ECX
CMOVNS EDX,ECX
SAR EDX,0x6
CMP EDX,EAX
JG 0x001ada05
MOV EAX,EDX
JMP 0x001ad8bb
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
CMP EAX,0x1
SETG CL
JMP 0x001ad98b
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
MOV EDX,EAX
MOV EAX,EDX
JMP 0x001ad8bb
LEA EAX,[EBX + 0xffef0ea0]
PUSH EAX
LEA EAX,[EBX + 0xffef0afe]
PUSH 0x451
PUSH EAX
LEA EAX,[EBX + 0xffede594]
PUSH EAX
CALL 0x000313d0
CALL 0x0029eab0
LEA EAX,[EBX + 0xffef0ea0]
PUSH EAX
LEA EAX,[EBX + 0xffef0afe]
PUSH 0x452
PUSH EAX
LEA EAX,[EBX + 0xffed1338]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 ClampImage(int *param_1,undefined4 param_2)\n\n{\n  double dVar1;\n  bool bVar2;\n  float fVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  undefined8 uVar9;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int *local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }\n  if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }\n  local_3c = 0;\n  local_38 = 0;\n  uVar5 = AcquireAuthenticCacheView(param_1,param_2);\n  iVar6 = GetImagePixelCacheType(param_1);\n  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&local_3c;\n  local_34 = param_1;\n  local_30 = param_2;\n  local_28 = 1;\n  local_2c = uVar5;\n  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);\n  uVar4 = local_28;\n  DestroyCacheView(uVar5);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar4;\n}\n\n" comment (function_definition "undefined4 ClampImage(int *param_1,undefined4 param_2)\n\n{\n  double dVar1;\n  bool bVar2;\n  float fVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  undefined8 uVar9;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int *local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }\n  if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }\n  local_3c = 0;\n  local_38 = 0;\n  uVar5 = AcquireAuthenticCacheView(param_1,param_2);\n  iVar6 = GetImagePixelCacheType(param_1);\n  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&local_3c;\n  local_34 = param_1;\n  local_30 = param_2;\n  local_28 = 1;\n  local_2c = uVar5;\n  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);\n  uVar4 = local_28;\n  DestroyCacheView(uVar5);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar4;\n}" type_identifier (function_declarator "ClampImage(int *param_1,undefined4 param_2)" identifier (parameter_list "(int *param_1,undefined4 param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  double dVar1;\n  bool bVar2;\n  float fVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  undefined8 uVar9;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int *local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }\n  if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }\n  local_3c = 0;\n  local_38 = 0;\n  uVar5 = AcquireAuthenticCacheView(param_1,param_2);\n  iVar6 = GetImagePixelCacheType(param_1);\n  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&local_3c;\n  local_34 = param_1;\n  local_30 = param_2;\n  local_28 = 1;\n  local_2c = uVar5;\n  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);\n  uVar4 = local_28;\n  DestroyCacheView(uVar5);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar4;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "float fVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined1 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1ad6b9;" (assignment_expression "uStack_14 = 0x1ad6b9" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage")" identifier (argument_list "("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ClampImage"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }" if (parenthesized_expression "(param_1[0xcd1] != -0x54535255)" ( (binary_expression "param_1[0xcd1] != -0x54535255" (subscript_expression "param_1[0xcd1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ClampImage"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }" if (parenthesized_expression "(param_1[0xcca] != 0)" ( (binary_expression "param_1[0xcca] != 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);" (call_expression "LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6)" identifier (argument_list "(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6)" ( number_literal , (string_literal ""MagickCore/threshold.c"" " string_content ") , (string_literal ""ClampImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , (binary_expression "param_1 + 0xc6" identifier + number_literal) ))) ;) })) (if_statement "if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }" if (parenthesized_expression "(*param_1 == 2)" ( (binary_expression "*param_1 == 2" (pointer_expression "*param_1" * identifier) == number_literal) )) (compound_statement "{\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }" { (expression_statement "iVar6 = param_1[9];" (assignment_expression "iVar6 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = param_1[10];" (assignment_expression "iVar7 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (do_statement "do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);" do (compound_statement "{\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      }" { (while_statement "while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }" while (parenthesized_expression "(fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3)" ( (comma_expression "fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3" (assignment_expression "fVar3 = (float)*(double *)(iVar7 + 0x20)" identifier = (cast_expression "(float)*(double *)(iVar7 + 0x20)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar7 + 0x20)" * (cast_expression "(double *)(iVar7 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))))) , (binary_expression "0.0 <= fVar3" number_literal <= identifier)) )) (compound_statement "{\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }" { (if_statement "if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }" if (parenthesized_expression "(DAT_0029f710 <= fVar3)" ( (binary_expression "DAT_0029f710 <= fVar3" identifier <= identifier) )) (compound_statement "{\n            fVar3 = DAT_0029f710;\n          }" { (expression_statement "fVar3 = DAT_0029f710;" (assignment_expression "fVar3 = DAT_0029f710" identifier = identifier) ;) })) (expression_statement "*(double *)(iVar7 + 0x20) = (double)fVar3;" (assignment_expression "*(double *)(iVar7 + 0x20) = (double)fVar3" (pointer_expression "*(double *)(iVar7 + 0x20)" * (cast_expression "(double *)(iVar7 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) = (cast_expression "(double)fVar3" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x28);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x28)" identifier = (pointer_expression "*(double *)(iVar7 + 0x28)" * (cast_expression "(double *)(iVar7 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7b2;" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (goto_statement "goto LAB_001ad7b2;" goto statement_identifier ;)) (labeled_statement "LAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" statement_identifier : (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" if (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" ( (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" { (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" identifier = (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "*(double *)(iVar7 + 0x28) = dVar1;" (assignment_expression "*(double *)(iVar7 + 0x28) = dVar1" (pointer_expression "*(double *)(iVar7 + 0x28)" * (cast_expression "(double *)(iVar7 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x30);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x30)" identifier = (pointer_expression "*(double *)(iVar7 + 0x30)" * (cast_expression "(double *)(iVar7 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7ca;" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (goto_statement "goto LAB_001ad7ca;" goto statement_identifier ;)) (labeled_statement "LAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" statement_identifier : (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" if (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" ( (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" { (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" identifier = (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "*(double *)(iVar7 + 0x30) = dVar1;" (assignment_expression "*(double *)(iVar7 + 0x30) = dVar1" (pointer_expression "*(double *)(iVar7 + 0x30)" * (cast_expression "(double *)(iVar7 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x40);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(iVar7 + 0x40)" * (cast_expression "(double *)(iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7e2;" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (goto_statement "goto LAB_001ad7e2;" goto statement_identifier ;)) (labeled_statement "LAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" statement_identifier : (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" if (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" ( (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" { (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" identifier = (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "*(double *)(iVar7 + 0x40) = dVar1;" (assignment_expression "*(double *)(iVar7 + 0x40) = dVar1" (pointer_expression "*(double *)(iVar7 + 0x40)" * (cast_expression "(double *)(iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = iVar7 + 0x50;" (assignment_expression "iVar7 = iVar7 + 0x50" identifier = (binary_expression "iVar7 + 0x50" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar6) goto LAB_001ad7f1;" if (parenthesized_expression "(iVar8 == iVar6)" ( (binary_expression "iVar8 == iVar6" identifier == identifier) )) (goto_statement "goto LAB_001ad7f1;" goto statement_identifier ;)) })) (expression_statement "*(undefined8 *)(iVar7 + 0x20) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x20) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x20)" * (cast_expression "(undefined8 *)(iVar7 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x28);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x28)" identifier = (pointer_expression "*(double *)(iVar7 + 0x28)" * (cast_expression "(double *)(iVar7 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (0.0 <= dVar1) goto LAB_001ad73a;" if (parenthesized_expression "(0.0 <= dVar1)" ( (binary_expression "0.0 <= dVar1" number_literal <= identifier) )) (goto_statement "goto LAB_001ad73a;" goto statement_identifier ;)) (labeled_statement "LAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;" statement_identifier : (expression_statement "*(undefined8 *)(iVar7 + 0x28) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x28) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x28)" * (cast_expression "(undefined8 *)(iVar7 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "dVar1 = *(double *)(iVar7 + 0x30);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x30)" identifier = (pointer_expression "*(double *)(iVar7 + 0x30)" * (cast_expression "(double *)(iVar7 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (0.0 <= dVar1) goto LAB_001ad754;" if (parenthesized_expression "(0.0 <= dVar1)" ( (binary_expression "0.0 <= dVar1" number_literal <= identifier) )) (goto_statement "goto LAB_001ad754;" goto statement_identifier ;)) (labeled_statement "LAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;" statement_identifier : (expression_statement "*(undefined8 *)(iVar7 + 0x30) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x30) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x30)" * (cast_expression "(undefined8 *)(iVar7 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "dVar1 = *(double *)(iVar7 + 0x40);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(iVar7 + 0x40)" * (cast_expression "(double *)(iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (0.0 <= dVar1) goto LAB_001ad76e;" if (parenthesized_expression "(0.0 <= dVar1)" ( (binary_expression "0.0 <= dVar1" number_literal <= identifier) )) (goto_statement "goto LAB_001ad76e;" goto statement_identifier ;)) (labeled_statement "LAB_001ad7e2:\n        iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (expression_statement "*(undefined8 *)(iVar7 + 0x40) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x40) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x40)" * (cast_expression "(undefined8 *)(iVar7 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = iVar7 + 0x50;" (assignment_expression "iVar7 = iVar7 + 0x50" identifier = (binary_expression "iVar7 + 0x50" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 != iVar6)" ( (binary_expression "iVar8 != iVar6" identifier != identifier) )) ;) })) (labeled_statement "LAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);" statement_identifier : (expression_statement "uVar4 = SyncImage(param_1,param_2);" (assignment_expression "uVar4 = SyncImage(param_1,param_2)" identifier = (call_expression "SyncImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;)) (goto_statement "goto LAB_001ad800;" goto statement_identifier ;) })) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "uVar5 = AcquireAuthenticCacheView(param_1,param_2);" (assignment_expression "uVar5 = AcquireAuthenticCacheView(param_1,param_2)" identifier = (call_expression "AcquireAuthenticCacheView(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "iVar6 = GetImagePixelCacheType(param_1);" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }" if (parenthesized_expression "(((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3))))" ( (binary_expression "((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))" (parenthesized_expression "((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3))" ( (binary_expression "(iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (parenthesized_expression "(iVar6 == 4)" ( (binary_expression "iVar6 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" ( (comma_expression "iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar6 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))" ( (parenthesized_expression "(iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3))" ( (comma_expression "iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (binary_expression "iVar6 == 4" identifier == number_literal) || (parenthesized_expression "(iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" ( (comma_expression "iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar6 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }" { (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "iVar6 = param_1[7];" (assignment_expression "iVar6 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = iVar6 + 0x3f;" (assignment_expression "iVar7 = iVar6 + 0x3f" identifier = (binary_expression "iVar6 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (compound_statement "{\n      iVar7 = iVar6;\n    }" { (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) })) (expression_statement "bVar2 = 0x7f < iVar6;" (assignment_expression "bVar2 = 0x7f < iVar6" identifier = (binary_expression "0x7f < iVar6" number_literal < identifier)) ;) (if_statement "if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }" if (parenthesized_expression "(iVar8 < iVar7 >> 6)" ( (binary_expression "iVar8 < iVar7 >> 6" identifier < (binary_expression "iVar7 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }" { (expression_statement "iVar6 = GetMagickResourceLimit(7);" (assignment_expression "iVar6 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "bVar2 = 1 < iVar6;" (assignment_expression "bVar2 = 1 < iVar6" identifier = (binary_expression "1 < iVar6" number_literal < identifier)) ;) })) (if_statement "if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }" { (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "iVar6 = param_1[7];" (assignment_expression "iVar6 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = iVar6 + 0x3f;" (assignment_expression "iVar7 = iVar6 + 0x3f" identifier = (binary_expression "iVar6 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (compound_statement "{\n        iVar7 = iVar6;\n      }" { (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) })) (expression_statement "iVar7 = iVar7 >> 6;" (assignment_expression "iVar7 = iVar7 >> 6" identifier = (binary_expression "iVar7 >> 6" identifier >> number_literal)) ;) (if_statement "if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }" if (parenthesized_expression "(iVar8 < iVar7)" ( (binary_expression "iVar8 < iVar7" identifier < identifier) )) (compound_statement "{\n        iVar7 = GetMagickResourceLimit(7);\n      }" { (expression_statement "iVar7 = GetMagickResourceLimit(7);" (assignment_expression "iVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) }) (else_clause "else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }" else (compound_statement "{\nLAB_001ad98f:\n      iVar7 = 1;\n    }" { (labeled_statement "LAB_001ad98f:\n      iVar7 = 1;" statement_identifier : (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;)) }))) }) (else_clause "else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }" else (compound_statement "{\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\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 (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2))" ( (binary_expression "((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)" (parenthesized_expression "((int)((ulonglong)uVar9 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar9 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar9 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" ( (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar9 < 2)" ( (binary_expression "(uint)uVar9 < 2" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\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 (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;" if (parenthesized_expression "(((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2))" ( (binary_expression "((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)" (parenthesized_expression "((int)((ulonglong)uVar9 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar9 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar9 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" ( (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar9 < 2)" ( (binary_expression "(uint)uVar9 < 2" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (goto_statement "goto LAB_001ad98f;" goto statement_identifier ;)) })) (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2))" ( (binary_expression "((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)" (parenthesized_expression "((int)((ulonglong)uVar9 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar9 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar9 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" ( (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar9 < 2)" ( (binary_expression "(uint)uVar9 < 2" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      iVar7 = GetMagickResourceLimit(7);\n    }" { (expression_statement "iVar7 = GetMagickResourceLimit(7);" (assignment_expression "iVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) }) (else_clause "else {\n      iVar7 = 2;\n    }" else (compound_statement "{\n      iVar7 = 2;\n    }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) }))) }))) (expression_statement "local_24 = (undefined1 *)&local_3c;" (assignment_expression "local_24 = (undefined1 *)&local_3c" identifier = (cast_expression "(undefined1 *)&local_3c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_3c" & identifier))) ;) (expression_statement "local_34 = param_1;" (assignment_expression "local_34 = param_1" identifier = identifier) ;) (expression_statement "local_30 = param_2;" (assignment_expression "local_30 = param_2" identifier = identifier) ;) (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" identifier = number_literal) ;) (expression_statement "local_2c = uVar5;" (assignment_expression "local_2c = uVar5" identifier = identifier) ;) (expression_statement "GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);" (call_expression "GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0)" identifier (argument_list "(FUN_001aa6d0,&local_34,iVar7,0)" ( identifier , (pointer_expression "&local_34" & identifier) , identifier , number_literal ))) ;) (expression_statement "uVar4 = local_28;" (assignment_expression "uVar4 = local_28" identifier = identifier) ;) (expression_statement "DestroyCacheView(uVar5);" (call_expression "DestroyCacheView(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (labeled_statement "LAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }" { comment (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "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\nMagickBooleanType ClampImage(Image *image,ExceptionInfo *exception)\n\n{\n  double dVar1;\n  size_t sVar2;\n  bool bVar3;\n  float fVar4;\n  PixelInfo *pPVar5;\n  MagickBooleanType MVar6;\n  CacheView *cache_view;\n  CacheType CVar7;\n  int iVar8;\n  size_t sVar9;\n  int in_GS_OFFSET;\n  MagickSizeType MVar10;\n  MagickOffsetType progress;\n  Image *local_34;\n  ExceptionInfo *local_30;\n  CacheView *local_2c;\n  MagickBooleanType local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/threshold.c","ClampImage",0x454,"%s",image->filename);\n  }\n  if (image->storage_class == PseudoClass) {\n    sVar2 = image->colors;\n    if (0 < (int)sVar2) {\n      sVar9 = 0;\n      pPVar5 = image->colormap;\n      do {\n        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }\n        pPVar5->red = 0.0;\n        dVar1 = pPVar5->green;\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        pPVar5->green = 0.0;\n        dVar1 = pPVar5->blue;\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        pPVar5->blue = 0.0;\n        dVar1 = pPVar5->alpha;\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        sVar9 = sVar9 + 1;\n        pPVar5->alpha = 0.0;\n        pPVar5 = pPVar5 + 1;\n      } while (sVar9 != sVar2);\n    }\nLAB_001ad7f1:\n    MVar6 = SyncImage(image,exception);\n    goto LAB_001ad800;\n  }\n  progress._0_4_ = 0;\n  progress._4_4_ = 0;\n  cache_view = AcquireAuthenticCacheView(image,exception);\n  CVar7 = GetImagePixelCacheType(image);\n  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)))) {\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    sVar2 = image->rows;\n    sVar9 = sVar2 + 0x3f;\n    if (-1 < (int)sVar2) {\n      sVar9 = sVar2;\n    }\n    bVar3 = 0x7f < (int)sVar2;\n    if ((int)MVar10 < (int)sVar9 >> 6) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      bVar3 = 1 < (int)MVar10;\n    }\n    if (bVar3) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      sVar2 = image->rows;\n      sVar9 = sVar2 + 0x3f;\n      if (-1 < (int)sVar2) {\n        sVar9 = sVar2;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar10 < iVar8) {\n        MVar10 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar10;\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar8 = 1;\n    }\n  }\n  else {\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;\n    }\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar10;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&progress;\n  local_34 = image;\n  local_30 = exception;\n  local_28 = MagickTrue;\n  local_2c = cache_view;\n  GOMP_parallel(ClampImage__omp_fn_3,&local_34,iVar8,0);\n  MVar6 = local_28;\n  DestroyCacheView(cache_view);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar6;\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "MagickBooleanType ClampImage(Image *image,ExceptionInfo *exception)\n\n{\n  double dVar1;\n  size_t sVar2;\n  bool bVar3;\n  float fVar4;\n  PixelInfo *pPVar5;\n  MagickBooleanType MVar6;\n  CacheView *cache_view;\n  CacheType CVar7;\n  int iVar8;\n  size_t sVar9;\n  int in_GS_OFFSET;\n  MagickSizeType MVar10;\n  MagickOffsetType progress;\n  Image *local_34;\n  ExceptionInfo *local_30;\n  CacheView *local_2c;\n  MagickBooleanType local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/threshold.c","ClampImage",0x454,"%s",image->filename);\n  }\n  if (image->storage_class == PseudoClass) {\n    sVar2 = image->colors;\n    if (0 < (int)sVar2) {\n      sVar9 = 0;\n      pPVar5 = image->colormap;\n      do {\n        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }\n        pPVar5->red = 0.0;\n        dVar1 = pPVar5->green;\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        pPVar5->green = 0.0;\n        dVar1 = pPVar5->blue;\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        pPVar5->blue = 0.0;\n        dVar1 = pPVar5->alpha;\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        sVar9 = sVar9 + 1;\n        pPVar5->alpha = 0.0;\n        pPVar5 = pPVar5 + 1;\n      } while (sVar9 != sVar2);\n    }\nLAB_001ad7f1:\n    MVar6 = SyncImage(image,exception);\n    goto LAB_001ad800;\n  }\n  progress._0_4_ = 0;\n  progress._4_4_ = 0;\n  cache_view = AcquireAuthenticCacheView(image,exception);\n  CVar7 = GetImagePixelCacheType(image);\n  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)))) {\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    sVar2 = image->rows;\n    sVar9 = sVar2 + 0x3f;\n    if (-1 < (int)sVar2) {\n      sVar9 = sVar2;\n    }\n    bVar3 = 0x7f < (int)sVar2;\n    if ((int)MVar10 < (int)sVar9 >> 6) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      bVar3 = 1 < (int)MVar10;\n    }\n    if (bVar3) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      sVar2 = image->rows;\n      sVar9 = sVar2 + 0x3f;\n      if (-1 < (int)sVar2) {\n        sVar9 = sVar2;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar10 < iVar8) {\n        MVar10 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar10;\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar8 = 1;\n    }\n  }\n  else {\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;\n    }\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar10;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&progress;\n  local_34 = image;\n  local_30 = exception;\n  local_28 = MagickTrue;\n  local_2c = cache_view;\n  GOMP_parallel(ClampImage__omp_fn_3,&local_34,iVar8,0);\n  MVar6 = local_28;\n  DestroyCacheView(cache_view);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar6;\n}" type_identifier (function_declarator "ClampImage(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  double dVar1;\n  size_t sVar2;\n  bool bVar3;\n  float fVar4;\n  PixelInfo *pPVar5;\n  MagickBooleanType MVar6;\n  CacheView *cache_view;\n  CacheType CVar7;\n  int iVar8;\n  size_t sVar9;\n  int in_GS_OFFSET;\n  MagickSizeType MVar10;\n  MagickOffsetType progress;\n  Image *local_34;\n  ExceptionInfo *local_30;\n  CacheView *local_2c;\n  MagickBooleanType local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/threshold.c","ClampImage",0x454,"%s",image->filename);\n  }\n  if (image->storage_class == PseudoClass) {\n    sVar2 = image->colors;\n    if (0 < (int)sVar2) {\n      sVar9 = 0;\n      pPVar5 = image->colormap;\n      do {\n        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }\n        pPVar5->red = 0.0;\n        dVar1 = pPVar5->green;\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        pPVar5->green = 0.0;\n        dVar1 = pPVar5->blue;\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        pPVar5->blue = 0.0;\n        dVar1 = pPVar5->alpha;\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        sVar9 = sVar9 + 1;\n        pPVar5->alpha = 0.0;\n        pPVar5 = pPVar5 + 1;\n      } while (sVar9 != sVar2);\n    }\nLAB_001ad7f1:\n    MVar6 = SyncImage(image,exception);\n    goto LAB_001ad800;\n  }\n  progress._0_4_ = 0;\n  progress._4_4_ = 0;\n  cache_view = AcquireAuthenticCacheView(image,exception);\n  CVar7 = GetImagePixelCacheType(image);\n  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)))) {\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    sVar2 = image->rows;\n    sVar9 = sVar2 + 0x3f;\n    if (-1 < (int)sVar2) {\n      sVar9 = sVar2;\n    }\n    bVar3 = 0x7f < (int)sVar2;\n    if ((int)MVar10 < (int)sVar9 >> 6) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      bVar3 = 1 < (int)MVar10;\n    }\n    if (bVar3) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      sVar2 = image->rows;\n      sVar9 = sVar2 + 0x3f;\n      if (-1 < (int)sVar2) {\n        sVar9 = sVar2;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar10 < iVar8) {\n        MVar10 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar10;\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar8 = 1;\n    }\n  }\n  else {\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;\n    }\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar10;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&progress;\n  local_34 = image;\n  local_30 = exception;\n  local_28 = MagickTrue;\n  local_2c = cache_view;\n  GOMP_parallel(ClampImage__omp_fn_3,&local_34,iVar8,0);\n  MVar6 = local_28;\n  DestroyCacheView(cache_view);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar6;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "float fVar4;" primitive_type identifier ;) (declaration "PixelInfo *pPVar5;" type_identifier (pointer_declarator "*pPVar5" * identifier) ;) (declaration "MagickBooleanType MVar6;" type_identifier identifier ;) (declaration "CacheView *cache_view;" type_identifier (pointer_declarator "*cache_view" * identifier) ;) (declaration "CacheType CVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "MagickSizeType MVar10;" type_identifier identifier ;) (declaration "MagickOffsetType progress;" type_identifier identifier ;) (declaration "Image *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "ExceptionInfo *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (declaration "CacheView *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (declaration "MagickBooleanType local_28;" type_identifier identifier ;) (declaration "undefined1 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1ad6b9;" (assignment_expression "uStack_14 = 0x1ad6b9" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\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 != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage")" identifier (argument_list "("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ClampImage"" " string_content ") ))) ;) })) (if_statement "if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\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/threshold.c",0x452,\n                  "ClampImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ClampImage"" " string_content ") ))) ;) })) (if_statement "if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/threshold.c","ClampImage",0x454,"%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/threshold.c","ClampImage",0x454,"%s",image->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"MagickCore/threshold.c","ClampImage",0x454,"%s",image->filename);" (call_expression "LogMagickEvent(TraceEvent,"MagickCore/threshold.c","ClampImage",0x454,"%s",image->filename)" identifier (argument_list "(TraceEvent,"MagickCore/threshold.c","ClampImage",0x454,"%s",image->filename)" ( identifier , (string_literal ""MagickCore/threshold.c"" " string_content ") , (string_literal ""ClampImage"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (image->storage_class == PseudoClass) {\n    sVar2 = image->colors;\n    if (0 < (int)sVar2) {\n      sVar9 = 0;\n      pPVar5 = image->colormap;\n      do {\n        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }\n        pPVar5->red = 0.0;\n        dVar1 = pPVar5->green;\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        pPVar5->green = 0.0;\n        dVar1 = pPVar5->blue;\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        pPVar5->blue = 0.0;\n        dVar1 = pPVar5->alpha;\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        sVar9 = sVar9 + 1;\n        pPVar5->alpha = 0.0;\n        pPVar5 = pPVar5 + 1;\n      } while (sVar9 != sVar2);\n    }\nLAB_001ad7f1:\n    MVar6 = SyncImage(image,exception);\n    goto LAB_001ad800;\n  }" if (parenthesized_expression "(image->storage_class == PseudoClass)" ( (binary_expression "image->storage_class == PseudoClass" (field_expression "image->storage_class" identifier -> field_identifier) == identifier) )) (compound_statement "{\n    sVar2 = image->colors;\n    if (0 < (int)sVar2) {\n      sVar9 = 0;\n      pPVar5 = image->colormap;\n      do {\n        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }\n        pPVar5->red = 0.0;\n        dVar1 = pPVar5->green;\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        pPVar5->green = 0.0;\n        dVar1 = pPVar5->blue;\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        pPVar5->blue = 0.0;\n        dVar1 = pPVar5->alpha;\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        sVar9 = sVar9 + 1;\n        pPVar5->alpha = 0.0;\n        pPVar5 = pPVar5 + 1;\n      } while (sVar9 != sVar2);\n    }\nLAB_001ad7f1:\n    MVar6 = SyncImage(image,exception);\n    goto LAB_001ad800;\n  }" { (expression_statement "sVar2 = image->colors;" (assignment_expression "sVar2 = image->colors" identifier = (field_expression "image->colors" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)sVar2) {\n      sVar9 = 0;\n      pPVar5 = image->colormap;\n      do {\n        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }\n        pPVar5->red = 0.0;\n        dVar1 = pPVar5->green;\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        pPVar5->green = 0.0;\n        dVar1 = pPVar5->blue;\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        pPVar5->blue = 0.0;\n        dVar1 = pPVar5->alpha;\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        sVar9 = sVar9 + 1;\n        pPVar5->alpha = 0.0;\n        pPVar5 = pPVar5 + 1;\n      } while (sVar9 != sVar2);\n    }" if (parenthesized_expression "(0 < (int)sVar2)" ( (binary_expression "0 < (int)sVar2" number_literal < (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      sVar9 = 0;\n      pPVar5 = image->colormap;\n      do {\n        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }\n        pPVar5->red = 0.0;\n        dVar1 = pPVar5->green;\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        pPVar5->green = 0.0;\n        dVar1 = pPVar5->blue;\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        pPVar5->blue = 0.0;\n        dVar1 = pPVar5->alpha;\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        sVar9 = sVar9 + 1;\n        pPVar5->alpha = 0.0;\n        pPVar5 = pPVar5 + 1;\n      } while (sVar9 != sVar2);\n    }" { (expression_statement "sVar9 = 0;" (assignment_expression "sVar9 = 0" identifier = number_literal) ;) (expression_statement "pPVar5 = image->colormap;" (assignment_expression "pPVar5 = image->colormap" identifier = (field_expression "image->colormap" identifier -> field_identifier)) ;) (do_statement "do {\n        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }\n        pPVar5->red = 0.0;\n        dVar1 = pPVar5->green;\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        pPVar5->green = 0.0;\n        dVar1 = pPVar5->blue;\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        pPVar5->blue = 0.0;\n        dVar1 = pPVar5->alpha;\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        sVar9 = sVar9 + 1;\n        pPVar5->alpha = 0.0;\n        pPVar5 = pPVar5 + 1;\n      } while (sVar9 != sVar2);" do (compound_statement "{\n        while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }\n        pPVar5->red = 0.0;\n        dVar1 = pPVar5->green;\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        pPVar5->green = 0.0;\n        dVar1 = pPVar5->blue;\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        pPVar5->blue = 0.0;\n        dVar1 = pPVar5->alpha;\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        sVar9 = sVar9 + 1;\n        pPVar5->alpha = 0.0;\n        pPVar5 = pPVar5 + 1;\n      }" { (while_statement "while (fVar4 = (float)pPVar5->red, 0.0 <= fVar4) {\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }" while (parenthesized_expression "(fVar4 = (float)pPVar5->red, 0.0 <= fVar4)" ( (comma_expression "fVar4 = (float)pPVar5->red, 0.0 <= fVar4" (assignment_expression "fVar4 = (float)pPVar5->red" identifier = (cast_expression "(float)pPVar5->red" ( (type_descriptor "float" primitive_type) ) (field_expression "pPVar5->red" identifier -> field_identifier))) , (binary_expression "0.0 <= fVar4" number_literal <= identifier)) )) (compound_statement "{\n          if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }\n          pPVar5->red = (double)fVar4;\n          dVar1 = pPVar5->green;\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->green = dVar1;\n          dVar1 = pPVar5->blue;\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          pPVar5->blue = dVar1;\n          dVar1 = pPVar5->alpha;\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          sVar9 = sVar9 + 1;\n          pPVar5->alpha = dVar1;\n          pPVar5 = pPVar5 + 1;\n          if (sVar9 == sVar2) goto LAB_001ad7f1;\n        }" { (if_statement "if (DAT_0029f710 <= fVar4) {\n            fVar4 = DAT_0029f710;\n          }" if (parenthesized_expression "(DAT_0029f710 <= fVar4)" ( (binary_expression "DAT_0029f710 <= fVar4" identifier <= identifier) )) (compound_statement "{\n            fVar4 = DAT_0029f710;\n          }" { (expression_statement "fVar4 = DAT_0029f710;" (assignment_expression "fVar4 = DAT_0029f710" identifier = identifier) ;) })) (expression_statement "pPVar5->red = (double)fVar4;" (assignment_expression "pPVar5->red = (double)fVar4" (field_expression "pPVar5->red" identifier -> field_identifier) = (cast_expression "(double)fVar4" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar1 = pPVar5->green;" (assignment_expression "dVar1 = pPVar5->green" identifier = (field_expression "pPVar5->green" identifier -> field_identifier)) ;) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7b2;" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (goto_statement "goto LAB_001ad7b2;" goto statement_identifier ;)) (labeled_statement "LAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" statement_identifier : (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" if (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" ( (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" { (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" identifier = (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pPVar5->green = dVar1;" (assignment_expression "pPVar5->green = dVar1" (field_expression "pPVar5->green" identifier -> field_identifier) = identifier) ;) (expression_statement "dVar1 = pPVar5->blue;" (assignment_expression "dVar1 = pPVar5->blue" identifier = (field_expression "pPVar5->blue" identifier -> field_identifier)) ;) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7ca;" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (goto_statement "goto LAB_001ad7ca;" goto statement_identifier ;)) (labeled_statement "LAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" statement_identifier : (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" if (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" ( (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" { (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" identifier = (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "pPVar5->blue = dVar1;" (assignment_expression "pPVar5->blue = dVar1" (field_expression "pPVar5->blue" identifier -> field_identifier) = identifier) ;) (expression_statement "dVar1 = pPVar5->alpha;" (assignment_expression "dVar1 = pPVar5->alpha" identifier = (field_expression "pPVar5->alpha" identifier -> field_identifier)) ;) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7e2;" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (goto_statement "goto LAB_001ad7e2;" goto statement_identifier ;)) (labeled_statement "LAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" statement_identifier : (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" if (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" ( (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" { (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" identifier = (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "sVar9 = sVar9 + 1;" (assignment_expression "sVar9 = sVar9 + 1" identifier = (binary_expression "sVar9 + 1" identifier + number_literal)) ;) (expression_statement "pPVar5->alpha = dVar1;" (assignment_expression "pPVar5->alpha = dVar1" (field_expression "pPVar5->alpha" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar5 = pPVar5 + 1;" (assignment_expression "pPVar5 = pPVar5 + 1" identifier = (binary_expression "pPVar5 + 1" identifier + number_literal)) ;) (if_statement "if (sVar9 == sVar2) goto LAB_001ad7f1;" if (parenthesized_expression "(sVar9 == sVar2)" ( (binary_expression "sVar9 == sVar2" identifier == identifier) )) (goto_statement "goto LAB_001ad7f1;" goto statement_identifier ;)) })) (expression_statement "pPVar5->red = 0.0;" (assignment_expression "pPVar5->red = 0.0" (field_expression "pPVar5->red" identifier -> field_identifier) = number_literal) ;) (expression_statement "dVar1 = pPVar5->green;" (assignment_expression "dVar1 = pPVar5->green" identifier = (field_expression "pPVar5->green" identifier -> field_identifier)) ;) (if_statement "if (0.0 <= dVar1) goto LAB_001ad73a;" if (parenthesized_expression "(0.0 <= dVar1)" ( (binary_expression "0.0 <= dVar1" number_literal <= identifier) )) (goto_statement "goto LAB_001ad73a;" goto statement_identifier ;)) (labeled_statement "LAB_001ad7b2:\n        pPVar5->green = 0.0;" statement_identifier : (expression_statement "pPVar5->green = 0.0;" (assignment_expression "pPVar5->green = 0.0" (field_expression "pPVar5->green" identifier -> field_identifier) = number_literal) ;)) (expression_statement "dVar1 = pPVar5->blue;" (assignment_expression "dVar1 = pPVar5->blue" identifier = (field_expression "pPVar5->blue" identifier -> field_identifier)) ;) (if_statement "if (0.0 <= dVar1) goto LAB_001ad754;" if (parenthesized_expression "(0.0 <= dVar1)" ( (binary_expression "0.0 <= dVar1" number_literal <= identifier) )) (goto_statement "goto LAB_001ad754;" goto statement_identifier ;)) (labeled_statement "LAB_001ad7ca:\n        pPVar5->blue = 0.0;" statement_identifier : (expression_statement "pPVar5->blue = 0.0;" (assignment_expression "pPVar5->blue = 0.0" (field_expression "pPVar5->blue" identifier -> field_identifier) = number_literal) ;)) (expression_statement "dVar1 = pPVar5->alpha;" (assignment_expression "dVar1 = pPVar5->alpha" identifier = (field_expression "pPVar5->alpha" identifier -> field_identifier)) ;) (if_statement "if (0.0 <= dVar1) goto LAB_001ad76e;" if (parenthesized_expression "(0.0 <= dVar1)" ( (binary_expression "0.0 <= dVar1" number_literal <= identifier) )) (goto_statement "goto LAB_001ad76e;" goto statement_identifier ;)) (labeled_statement "LAB_001ad7e2:\n        sVar9 = sVar9 + 1;" statement_identifier : (expression_statement "sVar9 = sVar9 + 1;" (assignment_expression "sVar9 = sVar9 + 1" identifier = (binary_expression "sVar9 + 1" identifier + number_literal)) ;)) (expression_statement "pPVar5->alpha = 0.0;" (assignment_expression "pPVar5->alpha = 0.0" (field_expression "pPVar5->alpha" identifier -> field_identifier) = number_literal) ;) (expression_statement "pPVar5 = pPVar5 + 1;" (assignment_expression "pPVar5 = pPVar5 + 1" identifier = (binary_expression "pPVar5 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar9 != sVar2)" ( (binary_expression "sVar9 != sVar2" identifier != identifier) )) ;) })) (labeled_statement "LAB_001ad7f1:\n    MVar6 = SyncImage(image,exception);" statement_identifier : (expression_statement "MVar6 = SyncImage(image,exception);" (assignment_expression "MVar6 = SyncImage(image,exception)" identifier = (call_expression "SyncImage(image,exception)" identifier (argument_list "(image,exception)" ( identifier , identifier )))) ;)) (goto_statement "goto LAB_001ad800;" goto statement_identifier ;) })) (expression_statement "progress._0_4_ = 0;" (assignment_expression "progress._0_4_ = 0" (field_expression "progress._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "progress._4_4_ = 0;" (assignment_expression "progress._4_4_ = 0" (field_expression "progress._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "cache_view = AcquireAuthenticCacheView(image,exception);" (assignment_expression "cache_view = AcquireAuthenticCacheView(image,exception)" identifier = (call_expression "AcquireAuthenticCacheView(image,exception)" identifier (argument_list "(image,exception)" ( identifier , identifier )))) ;) (expression_statement "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), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)))) {\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    sVar2 = image->rows;\n    sVar9 = sVar2 + 0x3f;\n    if (-1 < (int)sVar2) {\n      sVar9 = sVar2;\n    }\n    bVar3 = 0x7f < (int)sVar2;\n    if ((int)MVar10 < (int)sVar9 >> 6) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      bVar3 = 1 < (int)MVar10;\n    }\n    if (bVar3) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      sVar2 = image->rows;\n      sVar9 = sVar2 + 0x3f;\n      if (-1 < (int)sVar2) {\n        sVar9 = sVar2;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar10 < iVar8) {\n        MVar10 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar10;\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar8 = 1;\n    }\n  }\n  else {\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;\n    }\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar10;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" if (parenthesized_expression "(((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache))))" ( (binary_expression "((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(image), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), 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), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)))" ( (parenthesized_expression "(CVar7 = GetImagePixelCacheType(image), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache))" ( (comma_expression "CVar7 = GetImagePixelCacheType(image), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)" (assignment_expression "CVar7 = GetImagePixelCacheType(image)" identifier = (call_expression "GetImagePixelCacheType(image)" identifier (argument_list "(image)" ( identifier )))) , (binary_expression "CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)" (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)) )))) )) ))) )) (compound_statement "{\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    sVar2 = image->rows;\n    sVar9 = sVar2 + 0x3f;\n    if (-1 < (int)sVar2) {\n      sVar9 = sVar2;\n    }\n    bVar3 = 0x7f < (int)sVar2;\n    if ((int)MVar10 < (int)sVar9 >> 6) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      bVar3 = 1 < (int)MVar10;\n    }\n    if (bVar3) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      sVar2 = image->rows;\n      sVar9 = sVar2 + 0x3f;\n      if (-1 < (int)sVar2) {\n        sVar9 = sVar2;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar10 < iVar8) {\n        MVar10 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar10;\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar8 = 1;\n    }\n  }" { (expression_statement "MVar10 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar10 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "sVar2 = image->rows;" (assignment_expression "sVar2 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) (expression_statement "sVar9 = sVar2 + 0x3f;" (assignment_expression "sVar9 = sVar2 + 0x3f" identifier = (binary_expression "sVar2 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < (int)sVar2) {\n      sVar9 = sVar2;\n    }" if (parenthesized_expression "(-1 < (int)sVar2)" ( (binary_expression "-1 < (int)sVar2" number_literal < (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      sVar9 = sVar2;\n    }" { (expression_statement "sVar9 = sVar2;" (assignment_expression "sVar9 = sVar2" identifier = identifier) ;) })) (expression_statement "bVar3 = 0x7f < (int)sVar2;" (assignment_expression "bVar3 = 0x7f < (int)sVar2" identifier = (binary_expression "0x7f < (int)sVar2" number_literal < (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)MVar10 < (int)sVar9 >> 6) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      bVar3 = 1 < (int)MVar10;\n    }" if (parenthesized_expression "((int)MVar10 < (int)sVar9 >> 6)" ( (binary_expression "(int)MVar10 < (int)sVar9 >> 6" (cast_expression "(int)MVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "(int)sVar9 >> 6" (cast_expression "(int)sVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) (compound_statement "{\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      bVar3 = 1 < (int)MVar10;\n    }" { (expression_statement "MVar10 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar10 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "bVar3 = 1 < (int)MVar10;" (assignment_expression "bVar3 = 1 < (int)MVar10" identifier = (binary_expression "1 < (int)MVar10" number_literal < (cast_expression "(int)MVar10" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (if_statement "if (bVar3) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      sVar2 = image->rows;\n      sVar9 = sVar2 + 0x3f;\n      if (-1 < (int)sVar2) {\n        sVar9 = sVar2;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar10 < iVar8) {\n        MVar10 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar10;\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar8 = 1;\n    }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      sVar2 = image->rows;\n      sVar9 = sVar2 + 0x3f;\n      if (-1 < (int)sVar2) {\n        sVar9 = sVar2;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar10 < iVar8) {\n        MVar10 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar10;\n      }\n    }" { (expression_statement "MVar10 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar10 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "sVar2 = image->rows;" (assignment_expression "sVar2 = image->rows" identifier = (field_expression "image->rows" identifier -> field_identifier)) ;) (expression_statement "sVar9 = sVar2 + 0x3f;" (assignment_expression "sVar9 = sVar2 + 0x3f" identifier = (binary_expression "sVar2 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < (int)sVar2) {\n        sVar9 = sVar2;\n      }" if (parenthesized_expression "(-1 < (int)sVar2)" ( (binary_expression "-1 < (int)sVar2" number_literal < (cast_expression "(int)sVar2" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        sVar9 = sVar2;\n      }" { (expression_statement "sVar9 = sVar2;" (assignment_expression "sVar9 = sVar2" identifier = identifier) ;) })) (expression_statement "iVar8 = (int)sVar9 >> 6;" (assignment_expression "iVar8 = (int)sVar9 >> 6" identifier = (binary_expression "(int)sVar9 >> 6" (cast_expression "(int)sVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if ((int)MVar10 < iVar8) {\n        MVar10 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar10;\n      }" if (parenthesized_expression "((int)MVar10 < iVar8)" ( (binary_expression "(int)MVar10 < iVar8" (cast_expression "(int)MVar10" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n        MVar10 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar10;\n      }" { (expression_statement "MVar10 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar10 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "iVar8 = (int)MVar10;" (assignment_expression "iVar8 = (int)MVar10" identifier = (cast_expression "(int)MVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\nLAB_001ad98f:\n      iVar8 = 1;\n    }" else (compound_statement "{\nLAB_001ad98f:\n      iVar8 = 1;\n    }" { (labeled_statement "LAB_001ad98f:\n      iVar8 = 1;" statement_identifier : (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;)) }))) }) (else_clause "else {\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;\n    }\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar10;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" else (compound_statement "{\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;\n    }\n    MVar10 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar10;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" { (expression_statement "MVar10 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar10 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (if_statement "if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;\n    }" if (parenthesized_expression "(((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2))" ( (binary_expression "((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)" (parenthesized_expression "((int)(MVar10 >> 0x20) == 0)" ( (binary_expression "(int)(MVar10 >> 0x20) == 0" (cast_expression "(int)(MVar10 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(MVar10 >> 0x20)" ( (binary_expression "MVar10 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)MVar10 < 2)" ( (binary_expression "(uint)MVar10 < 2" (cast_expression "(uint)MVar10" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;\n    }" { (expression_statement "MVar10 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar10 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (if_statement "if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) goto LAB_001ad98f;" if (parenthesized_expression "(((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2))" ( (binary_expression "((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)" (parenthesized_expression "((int)(MVar10 >> 0x20) == 0)" ( (binary_expression "(int)(MVar10 >> 0x20) == 0" (cast_expression "(int)(MVar10 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(MVar10 >> 0x20)" ( (binary_expression "MVar10 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)MVar10 < 2)" ( (binary_expression "(uint)MVar10 < 2" (cast_expression "(uint)MVar10" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (goto_statement "goto LAB_001ad98f;" goto statement_identifier ;)) })) (expression_statement "MVar10 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar10 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (if_statement "if (((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)) {\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar10;\n    }\n    else {\n      iVar8 = 2;\n    }" if (parenthesized_expression "(((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2))" ( (binary_expression "((int)(MVar10 >> 0x20) == 0) && ((uint)MVar10 < 2)" (parenthesized_expression "((int)(MVar10 >> 0x20) == 0)" ( (binary_expression "(int)(MVar10 >> 0x20) == 0" (cast_expression "(int)(MVar10 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(MVar10 >> 0x20)" ( (binary_expression "MVar10 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)MVar10 < 2)" ( (binary_expression "(uint)MVar10 < 2" (cast_expression "(uint)MVar10" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      MVar10 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar10;\n    }" { (expression_statement "MVar10 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar10 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "iVar8 = (int)MVar10;" (assignment_expression "iVar8 = (int)MVar10" identifier = (cast_expression "(int)MVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n      iVar8 = 2;\n    }" else (compound_statement "{\n      iVar8 = 2;\n    }" { (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;) }))) }))) (expression_statement "local_24 = (undefined1 *)&progress;" (assignment_expression "local_24 = (undefined1 *)&progress" identifier = (cast_expression "(undefined1 *)&progress" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&progress" & identifier))) ;) (expression_statement "local_34 = image;" (assignment_expression "local_34 = image" identifier = identifier) ;) (expression_statement "local_30 = exception;" (assignment_expression "local_30 = exception" identifier = identifier) ;) (expression_statement "local_28 = MagickTrue;" (assignment_expression "local_28 = MagickTrue" identifier = identifier) ;) (expression_statement "local_2c = cache_view;" (assignment_expression "local_2c = cache_view" identifier = identifier) ;) (expression_statement "GOMP_parallel(ClampImage__omp_fn_3,&local_34,iVar8,0);" (call_expression "GOMP_parallel(ClampImage__omp_fn_3,&local_34,iVar8,0)" identifier (argument_list "(ClampImage__omp_fn_3,&local_34,iVar8,0)" ( identifier , (pointer_expression "&local_34" & identifier) , identifier , number_literal ))) ;) (expression_statement "MVar6 = local_28;" (assignment_expression "MVar6 = local_28" identifier = identifier) ;) (expression_statement "DestroyCacheView(cache_view);" (call_expression "DestroyCacheView(cache_view)" identifier (argument_list "(cache_view)" ( identifier ))) ;) (labeled_statement "LAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return MVar6;" return identifier ;) })))
(translation_unit "undefined4 ClampImage(int *param_1,undefined4 param_2)\n\n{\n  double dVar1;\n  bool bVar2;\n  float fVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  undefined8 uVar9;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int *local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }\n  if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }\n  local_3c = 0;\n  local_38 = 0;\n  uVar5 = AcquireAuthenticCacheView(param_1,param_2);\n  iVar6 = GetImagePixelCacheType(param_1);\n  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&local_3c;\n  local_34 = param_1;\n  local_30 = param_2;\n  local_28 = 1;\n  local_2c = uVar5;\n  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);\n  uVar4 = local_28;\n  DestroyCacheView(uVar5);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}\n\n" (function_definition "undefined4 ClampImage(int *param_1,undefined4 param_2)\n\n{\n  double dVar1;\n  bool bVar2;\n  float fVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  undefined8 uVar9;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int *local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }\n  if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }\n  local_3c = 0;\n  local_38 = 0;\n  uVar5 = AcquireAuthenticCacheView(param_1,param_2);\n  iVar6 = GetImagePixelCacheType(param_1);\n  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&local_3c;\n  local_34 = param_1;\n  local_30 = param_2;\n  local_28 = 1;\n  local_2c = uVar5;\n  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);\n  uVar4 = local_28;\n  DestroyCacheView(uVar5);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}" type_identifier (function_declarator "ClampImage(int *param_1,undefined4 param_2)" identifier (parameter_list "(int *param_1,undefined4 param_2)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  double dVar1;\n  bool bVar2;\n  float fVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  undefined8 uVar9;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int *local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }\n  if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }\n  local_3c = 0;\n  local_38 = 0;\n  uVar5 = AcquireAuthenticCacheView(param_1,param_2);\n  iVar6 = GetImagePixelCacheType(param_1);\n  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&local_3c;\n  local_34 = param_1;\n  local_30 = param_2;\n  local_28 = 1;\n  local_2c = uVar5;\n  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);\n  uVar4 = local_28;\n  DestroyCacheView(uVar5);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "float fVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int *local_34;" primitive_type (pointer_declarator "*local_34" * identifier) ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "undefined4 local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined1 *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x1ad6b9;" (assignment_expression "uStack_14 = 0x1ad6b9" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }" { (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage")" identifier (argument_list "("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ClampImage"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }" if (parenthesized_expression "(param_1[0xcd1] != -0x54535255)" ( (binary_expression "param_1[0xcd1] != -0x54535255" (subscript_expression "param_1[0xcd1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }" { (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/threshold.c"" " string_content ") , number_literal , (string_literal ""ClampImage"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }" if (parenthesized_expression "(param_1[0xcca] != 0)" ( (binary_expression "param_1[0xcca] != 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);" (call_expression "LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6)" identifier (argument_list "(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6)" ( number_literal , (string_literal ""MagickCore/threshold.c"" " string_content ") , (string_literal ""ClampImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , (binary_expression "param_1 + 0xc6" identifier + number_literal) ))) ;) })) (if_statement "if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }" if (parenthesized_expression "(*param_1 == 2)" ( (binary_expression "*param_1 == 2" (pointer_expression "*param_1" * identifier) == number_literal) )) (compound_statement "{\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }" { (expression_statement "iVar6 = param_1[9];" (assignment_expression "iVar6 = param_1[9]" identifier = (subscript_expression "param_1[9]" identifier [ number_literal ])) ;) (if_statement "if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = param_1[10];" (assignment_expression "iVar7 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (do_statement "do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);" do (compound_statement "{\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      }" { (while_statement "while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }" while (parenthesized_expression "(fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3)" ( (comma_expression "fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3" (assignment_expression "fVar3 = (float)*(double *)(iVar7 + 0x20)" identifier = (cast_expression "(float)*(double *)(iVar7 + 0x20)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(double *)(iVar7 + 0x20)" * (cast_expression "(double *)(iVar7 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))))) , (binary_expression "0.0 <= fVar3" number_literal <= identifier)) )) (compound_statement "{\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }" { (if_statement "if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }" if (parenthesized_expression "(DAT_0029f710 <= fVar3)" ( (binary_expression "DAT_0029f710 <= fVar3" identifier <= identifier) )) (compound_statement "{\n            fVar3 = DAT_0029f710;\n          }" { (expression_statement "fVar3 = DAT_0029f710;" (assignment_expression "fVar3 = DAT_0029f710" identifier = identifier) ;) })) (expression_statement "*(double *)(iVar7 + 0x20) = (double)fVar3;" (assignment_expression "*(double *)(iVar7 + 0x20) = (double)fVar3" (pointer_expression "*(double *)(iVar7 + 0x20)" * (cast_expression "(double *)(iVar7 + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) = (cast_expression "(double)fVar3" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x28);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x28)" identifier = (pointer_expression "*(double *)(iVar7 + 0x28)" * (cast_expression "(double *)(iVar7 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7b2;" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (goto_statement "goto LAB_001ad7b2;" goto statement_identifier ;)) (labeled_statement "LAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" statement_identifier : (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" if (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" ( (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" { (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" identifier = (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "*(double *)(iVar7 + 0x28) = dVar1;" (assignment_expression "*(double *)(iVar7 + 0x28) = dVar1" (pointer_expression "*(double *)(iVar7 + 0x28)" * (cast_expression "(double *)(iVar7 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x30);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x30)" identifier = (pointer_expression "*(double *)(iVar7 + 0x30)" * (cast_expression "(double *)(iVar7 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7ca;" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (goto_statement "goto LAB_001ad7ca;" goto statement_identifier ;)) (labeled_statement "LAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" statement_identifier : (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" if (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" ( (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" { (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" identifier = (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "*(double *)(iVar7 + 0x30) = dVar1;" (assignment_expression "*(double *)(iVar7 + 0x30) = dVar1" (pointer_expression "*(double *)(iVar7 + 0x30)" * (cast_expression "(double *)(iVar7 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x40);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(iVar7 + 0x40)" * (cast_expression "(double *)(iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7e2;" if (parenthesized_expression "(dVar1 < 0.0)" ( (binary_expression "dVar1 < 0.0" identifier < number_literal) )) (goto_statement "goto LAB_001ad7e2;" goto statement_identifier ;)) (labeled_statement "LAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" statement_identifier : (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" if (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" ( (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier) <= identifier) )) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" { (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" identifier = (cast_expression "(double)DAT_0029f710" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "*(double *)(iVar7 + 0x40) = dVar1;" (assignment_expression "*(double *)(iVar7 + 0x40) = dVar1" (pointer_expression "*(double *)(iVar7 + 0x40)" * (cast_expression "(double *)(iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar7 = iVar7 + 0x50;" (assignment_expression "iVar7 = iVar7 + 0x50" identifier = (binary_expression "iVar7 + 0x50" identifier + number_literal)) ;) (if_statement "if (iVar8 == iVar6) goto LAB_001ad7f1;" if (parenthesized_expression "(iVar8 == iVar6)" ( (binary_expression "iVar8 == iVar6" identifier == identifier) )) (goto_statement "goto LAB_001ad7f1;" goto statement_identifier ;)) })) (expression_statement "*(undefined8 *)(iVar7 + 0x20) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x20) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x20)" * (cast_expression "(undefined8 *)(iVar7 + 0x20)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "dVar1 = *(double *)(iVar7 + 0x28);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x28)" identifier = (pointer_expression "*(double *)(iVar7 + 0x28)" * (cast_expression "(double *)(iVar7 + 0x28)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (0.0 <= dVar1) goto LAB_001ad73a;" if (parenthesized_expression "(0.0 <= dVar1)" ( (binary_expression "0.0 <= dVar1" number_literal <= identifier) )) (goto_statement "goto LAB_001ad73a;" goto statement_identifier ;)) (labeled_statement "LAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;" statement_identifier : (expression_statement "*(undefined8 *)(iVar7 + 0x28) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x28) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x28)" * (cast_expression "(undefined8 *)(iVar7 + 0x28)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "dVar1 = *(double *)(iVar7 + 0x30);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x30)" identifier = (pointer_expression "*(double *)(iVar7 + 0x30)" * (cast_expression "(double *)(iVar7 + 0x30)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (0.0 <= dVar1) goto LAB_001ad754;" if (parenthesized_expression "(0.0 <= dVar1)" ( (binary_expression "0.0 <= dVar1" number_literal <= identifier) )) (goto_statement "goto LAB_001ad754;" goto statement_identifier ;)) (labeled_statement "LAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;" statement_identifier : (expression_statement "*(undefined8 *)(iVar7 + 0x30) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x30) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x30)" * (cast_expression "(undefined8 *)(iVar7 + 0x30)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "dVar1 = *(double *)(iVar7 + 0x40);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x40)" identifier = (pointer_expression "*(double *)(iVar7 + 0x40)" * (cast_expression "(double *)(iVar7 + 0x40)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (0.0 <= dVar1) goto LAB_001ad76e;" if (parenthesized_expression "(0.0 <= dVar1)" ( (binary_expression "0.0 <= dVar1" number_literal <= identifier) )) (goto_statement "goto LAB_001ad76e;" goto statement_identifier ;)) (labeled_statement "LAB_001ad7e2:\n        iVar8 = iVar8 + 1;" statement_identifier : (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;)) (expression_statement "*(undefined8 *)(iVar7 + 0x40) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x40) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x40)" * (cast_expression "(undefined8 *)(iVar7 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x40)" ( (binary_expression "iVar7 + 0x40" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = iVar7 + 0x50;" (assignment_expression "iVar7 = iVar7 + 0x50" identifier = (binary_expression "iVar7 + 0x50" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar8 != iVar6)" ( (binary_expression "iVar8 != iVar6" identifier != identifier) )) ;) })) (labeled_statement "LAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);" statement_identifier : (expression_statement "uVar4 = SyncImage(param_1,param_2);" (assignment_expression "uVar4 = SyncImage(param_1,param_2)" identifier = (call_expression "SyncImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;)) (goto_statement "goto LAB_001ad800;" goto statement_identifier ;) })) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" identifier = number_literal) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "uVar5 = AcquireAuthenticCacheView(param_1,param_2);" (assignment_expression "uVar5 = AcquireAuthenticCacheView(param_1,param_2)" identifier = (call_expression "AcquireAuthenticCacheView(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier )))) ;) (expression_statement "iVar6 = GetImagePixelCacheType(param_1);" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }" if (parenthesized_expression "(((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3))))" ( (binary_expression "((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))" (parenthesized_expression "((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3))" ( (binary_expression "(iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (parenthesized_expression "(iVar6 == 4)" ( (binary_expression "iVar6 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" ( (comma_expression "iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar6 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))" ( (parenthesized_expression "(iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3))" ( (comma_expression "iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (binary_expression "iVar6 == 4" identifier == number_literal) || (parenthesized_expression "(iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" ( (comma_expression "iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar6 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }" { (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "iVar6 = param_1[7];" (assignment_expression "iVar6 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = iVar6 + 0x3f;" (assignment_expression "iVar7 = iVar6 + 0x3f" identifier = (binary_expression "iVar6 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (compound_statement "{\n      iVar7 = iVar6;\n    }" { (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) })) (expression_statement "bVar2 = 0x7f < iVar6;" (assignment_expression "bVar2 = 0x7f < iVar6" identifier = (binary_expression "0x7f < iVar6" number_literal < identifier)) ;) (if_statement "if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }" if (parenthesized_expression "(iVar8 < iVar7 >> 6)" ( (binary_expression "iVar8 < iVar7 >> 6" identifier < (binary_expression "iVar7 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }" { (expression_statement "iVar6 = GetMagickResourceLimit(7);" (assignment_expression "iVar6 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "bVar2 = 1 < iVar6;" (assignment_expression "bVar2 = 1 < iVar6" identifier = (binary_expression "1 < iVar6" number_literal < identifier)) ;) })) (if_statement "if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }" { (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "iVar6 = param_1[7];" (assignment_expression "iVar6 = param_1[7]" identifier = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = iVar6 + 0x3f;" (assignment_expression "iVar7 = iVar6 + 0x3f" identifier = (binary_expression "iVar6 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }" if (parenthesized_expression "(-1 < iVar6)" ( (binary_expression "-1 < iVar6" number_literal < identifier) )) (compound_statement "{\n        iVar7 = iVar6;\n      }" { (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" identifier = identifier) ;) })) (expression_statement "iVar7 = iVar7 >> 6;" (assignment_expression "iVar7 = iVar7 >> 6" identifier = (binary_expression "iVar7 >> 6" identifier >> number_literal)) ;) (if_statement "if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }" if (parenthesized_expression "(iVar8 < iVar7)" ( (binary_expression "iVar8 < iVar7" identifier < identifier) )) (compound_statement "{\n        iVar7 = GetMagickResourceLimit(7);\n      }" { (expression_statement "iVar7 = GetMagickResourceLimit(7);" (assignment_expression "iVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) }) (else_clause "else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }" else (compound_statement "{\nLAB_001ad98f:\n      iVar7 = 1;\n    }" { (labeled_statement "LAB_001ad98f:\n      iVar7 = 1;" statement_identifier : (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;)) }))) }) (else_clause "else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }" else (compound_statement "{\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\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 (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2))" ( (binary_expression "((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)" (parenthesized_expression "((int)((ulonglong)uVar9 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar9 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar9 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" ( (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar9 < 2)" ( (binary_expression "(uint)uVar9 < 2" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\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 (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;" if (parenthesized_expression "(((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2))" ( (binary_expression "((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)" (parenthesized_expression "((int)((ulonglong)uVar9 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar9 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar9 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" ( (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar9 < 2)" ( (binary_expression "(uint)uVar9 < 2" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (goto_statement "goto LAB_001ad98f;" goto statement_identifier ;)) })) (expression_statement "uVar9 = GetMagickResourceLimit(7);" (assignment_expression "uVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2))" ( (binary_expression "((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)" (parenthesized_expression "((int)((ulonglong)uVar9 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar9 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar9 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" ( (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar9 < 2)" ( (binary_expression "(uint)uVar9 < 2" (cast_expression "(uint)uVar9" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      iVar7 = GetMagickResourceLimit(7);\n    }" { (expression_statement "iVar7 = GetMagickResourceLimit(7);" (assignment_expression "iVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) }) (else_clause "else {\n      iVar7 = 2;\n    }" else (compound_statement "{\n      iVar7 = 2;\n    }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) }))) }))) (expression_statement "local_24 = (undefined1 *)&local_3c;" (assignment_expression "local_24 = (undefined1 *)&local_3c" identifier = (cast_expression "(undefined1 *)&local_3c" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_3c" & identifier))) ;) (expression_statement "local_34 = param_1;" (assignment_expression "local_34 = param_1" identifier = identifier) ;) (expression_statement "local_30 = param_2;" (assignment_expression "local_30 = param_2" identifier = identifier) ;) (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" identifier = number_literal) ;) (expression_statement "local_2c = uVar5;" (assignment_expression "local_2c = uVar5" identifier = identifier) ;) (expression_statement "GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);" (call_expression "GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0)" identifier (argument_list "(FUN_001aa6d0,&local_34,iVar7,0)" ( identifier , (pointer_expression "&local_34" & identifier) , identifier , number_literal ))) ;) (expression_statement "uVar4 = local_28;" (assignment_expression "uVar4 = local_28" identifier = identifier) ;) (expression_statement "DestroyCacheView(uVar5);" (call_expression "DestroyCacheView(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (labeled_statement "LAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_0029eab0();\n  }" { (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar4;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (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 (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) , (binary_expression LIT <= IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (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) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 IDENT = (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) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 IDENT = (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) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT <= IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_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)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (subscript_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 { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 ))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 ClampImage(int *param_1,undefined4 param_2)\n\n{\n  double dVar1;\n  bool bVar2;\n  float fVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  undefined8 uVar9;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int *local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }\n  if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }\n  local_3c = 0;\n  local_38 = 0;\n  uVar5 = AcquireAuthenticCacheView(param_1,param_2);\n  iVar6 = GetImagePixelCacheType(param_1);\n  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&local_3c;\n  local_34 = param_1;\n  local_30 = param_2;\n  local_28 = 1;\n  local_2c = uVar5;\n  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);\n  uVar4 = local_28;\n  DestroyCacheView(uVar5);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}" (type_identifier "undefined4") (function_declarator "ClampImage(int *param_1,undefined4 param_2)" (identifier "ClampImage") (parameter_list "(int *param_1,undefined4 param_2)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  double dVar1;\n  bool bVar2;\n  float fVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  int iVar6;\n  int iVar7;\n  int iVar8;\n  int in_GS_OFFSET;\n  undefined8 uVar9;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int *local_34;\n  undefined4 local_30;\n  undefined4 local_2c;\n  undefined4 local_28;\n  undefined1 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x1ad6b9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }\n  if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }\n  if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }\n  local_3c = 0;\n  local_38 = 0;\n  uVar5 = AcquireAuthenticCacheView(param_1,param_2);\n  iVar6 = GetImagePixelCacheType(param_1);\n  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }\n  local_24 = (undefined1 *)&local_3c;\n  local_34 = param_1;\n  local_30 = param_2;\n  local_28 = 1;\n  local_2c = uVar5;\n  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);\n  uVar4 = local_28;\n  DestroyCacheView(uVar5);\nLAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar4;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "float fVar3;" (primitive_type "float") (identifier "fVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "undefined4 local_3c;" (type_identifier "undefined4") (identifier "local_3c") (; ";")) (declaration "undefined4 local_38;" (type_identifier "undefined4") (identifier "local_38") (; ";")) (declaration "int *local_34;" (primitive_type "int") (pointer_declarator "*local_34" (* "*") (identifier "local_34")) (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "undefined4 local_2c;" (type_identifier "undefined4") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined1 *local_24;" (type_identifier "undefined1") (pointer_declarator "*local_24" (* "*") (identifier "local_24")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x1ad6b9;" (assignment_expression "uStack_14 = 0x1ad6b9" (identifier "uStack_14") (= "=") (number_literal "0x1ad6b9")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");\n  }" ({ "{") (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage")" (identifier "__assert_fail") (argument_list "("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage")" (( "(") (string_literal ""image != (Image *) NULL"" (" """) (string_content "image != (Image *) NULL") (" """)) (, ",") (string_literal ""MagickCore/threshold.c"" (" """) (string_content "MagickCore/threshold.c") (" """)) (, ",") (number_literal "0x451") (, ",") (string_literal ""ClampImage"" (" """) (string_content "ClampImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }" (if "if") (parenthesized_expression "(param_1[0xcd1] != -0x54535255)" (( "(") (binary_expression "param_1[0xcd1] != -0x54535255" (subscript_expression "param_1[0xcd1]" (identifier "param_1") ([ "[") (number_literal "0xcd1") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");\n  }" ({ "{") (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage")" (identifier "__assert_fail") (argument_list "("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,\n                  "ClampImage")" (( "(") (string_literal ""image->signature == MagickCoreSignature"" (" """) (string_content "image->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/threshold.c"" (" """) (string_content "MagickCore/threshold.c") (" """)) (, ",") (number_literal "0x452") (, ",") (string_literal ""ClampImage"" (" """) (string_content "ClampImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[0xcca] != 0) {\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }" (if "if") (parenthesized_expression "(param_1[0xcca] != 0)" (( "(") (binary_expression "param_1[0xcca] != 0" (subscript_expression "param_1[0xcca]" (identifier "param_1") ([ "[") (number_literal "0xcca") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6);" (call_expression "LogMagickEvent(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6)" (identifier "LogMagickEvent") (argument_list "(0x8000,"MagickCore/threshold.c","ClampImage",0x454,&DAT_002b6e4e,param_1 + 0xc6)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""MagickCore/threshold.c"" (" """) (string_content "MagickCore/threshold.c") (" """)) (, ",") (string_literal ""ClampImage"" (" """) (string_content "ClampImage") (" """)) (, ",") (number_literal "0x454") (, ",") (pointer_expression "&DAT_002b6e4e" (& "&") (identifier "DAT_002b6e4e")) (, ",") (binary_expression "param_1 + 0xc6" (identifier "param_1") (+ "+") (number_literal "0xc6")) () ")"))) (; ";")) (} "}"))) (if_statement "if (*param_1 == 2) {\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }" (if "if") (parenthesized_expression "(*param_1 == 2)" (( "(") (binary_expression "*param_1 == 2" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    iVar6 = param_1[9];\n    if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }\nLAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);\n    goto LAB_001ad800;\n  }" ({ "{") (expression_statement "iVar6 = param_1[9];" (assignment_expression "iVar6 = param_1[9]" (identifier "iVar6") (= "=") (subscript_expression "param_1[9]" (identifier "param_1") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (0 < iVar6) {\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }" (if "if") (parenthesized_expression "(0 < iVar6)" (( "(") (binary_expression "0 < iVar6" (number_literal "0") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n      iVar8 = 0;\n      iVar7 = param_1[10];\n      do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);\n    }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = param_1[10];" (assignment_expression "iVar7 = param_1[10]" (identifier "iVar7") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (do_statement "do {\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      } while (iVar8 != iVar6);" (do "do") (compound_statement "{\n        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }\n        *(undefined8 *)(iVar7 + 0x20) = 0;\n        dVar1 = *(double *)(iVar7 + 0x28);\n        if (0.0 <= dVar1) goto LAB_001ad73a;\nLAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;\n        dVar1 = *(double *)(iVar7 + 0x30);\n        if (0.0 <= dVar1) goto LAB_001ad754;\nLAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;\n        dVar1 = *(double *)(iVar7 + 0x40);\n        if (0.0 <= dVar1) goto LAB_001ad76e;\nLAB_001ad7e2:\n        iVar8 = iVar8 + 1;\n        *(undefined8 *)(iVar7 + 0x40) = 0;\n        iVar7 = iVar7 + 0x50;\n      }" ({ "{") (while_statement "while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }" (while "while") (parenthesized_expression "(fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3)" (( "(") (comma_expression "fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3" (assignment_expression "fVar3 = (float)*(double *)(iVar7 + 0x20)" (identifier "fVar3") (= "=") (cast_expression "(float)*(double *)(iVar7 + 0x20)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(double *)(iVar7 + 0x20)" (* "*") (cast_expression "(double *)(iVar7 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")")))))) (, ",") (binary_expression "0.0 <= fVar3" (number_literal "0.0") (<= "<=") (identifier "fVar3"))) () ")")) (compound_statement "{\n          if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x20) = (double)fVar3;\n          dVar1 = *(double *)(iVar7 + 0x28);\n          if (dVar1 < 0.0) goto LAB_001ad7b2;\nLAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x28) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x30);\n          if (dVar1 < 0.0) goto LAB_001ad7ca;\nLAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          *(double *)(iVar7 + 0x30) = dVar1;\n          dVar1 = *(double *)(iVar7 + 0x40);\n          if (dVar1 < 0.0) goto LAB_001ad7e2;\nLAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }\n          iVar8 = iVar8 + 1;\n          *(double *)(iVar7 + 0x40) = dVar1;\n          iVar7 = iVar7 + 0x50;\n          if (iVar8 == iVar6) goto LAB_001ad7f1;\n        }" ({ "{") (if_statement "if (DAT_0029f710 <= fVar3) {\n            fVar3 = DAT_0029f710;\n          }" (if "if") (parenthesized_expression "(DAT_0029f710 <= fVar3)" (( "(") (binary_expression "DAT_0029f710 <= fVar3" (identifier "DAT_0029f710") (<= "<=") (identifier "fVar3")) () ")")) (compound_statement "{\n            fVar3 = DAT_0029f710;\n          }" ({ "{") (expression_statement "fVar3 = DAT_0029f710;" (assignment_expression "fVar3 = DAT_0029f710" (identifier "fVar3") (= "=") (identifier "DAT_0029f710")) (; ";")) (} "}"))) (expression_statement "*(double *)(iVar7 + 0x20) = (double)fVar3;" (assignment_expression "*(double *)(iVar7 + 0x20) = (double)fVar3" (pointer_expression "*(double *)(iVar7 + 0x20)" (* "*") (cast_expression "(double *)(iVar7 + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (cast_expression "(double)fVar3" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "fVar3"))) (; ";")) (expression_statement "dVar1 = *(double *)(iVar7 + 0x28);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x28)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar7 + 0x28)" (* "*") (cast_expression "(double *)(iVar7 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x28)" (( "(") (binary_expression "iVar7 + 0x28" (identifier "iVar7") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7b2;" (if "if") (parenthesized_expression "(dVar1 < 0.0)" (( "(") (binary_expression "dVar1 < 0.0" (identifier "dVar1") (< "<") (number_literal "0.0")) () ")")) (goto_statement "goto LAB_001ad7b2;" (goto "goto") (statement_identifier "LAB_001ad7b2") (; ";"))) (labeled_statement "LAB_001ad73a:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" (statement_identifier "LAB_001ad73a") (: ":") (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" (if "if") (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" (( "(") (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f710")) (<= "<=") (identifier "dVar1")) () ")")) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" ({ "{") (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" (identifier "dVar1") (= "=") (cast_expression "(double)DAT_0029f710" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f710"))) (; ";")) (} "}")))) (expression_statement "*(double *)(iVar7 + 0x28) = dVar1;" (assignment_expression "*(double *)(iVar7 + 0x28) = dVar1" (pointer_expression "*(double *)(iVar7 + 0x28)" (* "*") (cast_expression "(double *)(iVar7 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x28)" (( "(") (binary_expression "iVar7 + 0x28" (identifier "iVar7") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "dVar1 = *(double *)(iVar7 + 0x30);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x30)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar7 + 0x30)" (* "*") (cast_expression "(double *)(iVar7 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x30)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7ca;" (if "if") (parenthesized_expression "(dVar1 < 0.0)" (( "(") (binary_expression "dVar1 < 0.0" (identifier "dVar1") (< "<") (number_literal "0.0")) () ")")) (goto_statement "goto LAB_001ad7ca;" (goto "goto") (statement_identifier "LAB_001ad7ca") (; ";"))) (labeled_statement "LAB_001ad754:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" (statement_identifier "LAB_001ad754") (: ":") (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" (if "if") (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" (( "(") (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f710")) (<= "<=") (identifier "dVar1")) () ")")) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" ({ "{") (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" (identifier "dVar1") (= "=") (cast_expression "(double)DAT_0029f710" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f710"))) (; ";")) (} "}")))) (expression_statement "*(double *)(iVar7 + 0x30) = dVar1;" (assignment_expression "*(double *)(iVar7 + 0x30) = dVar1" (pointer_expression "*(double *)(iVar7 + 0x30)" (* "*") (cast_expression "(double *)(iVar7 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x30)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "dVar1 = *(double *)(iVar7 + 0x40);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x40)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar7 + 0x40)" (* "*") (cast_expression "(double *)(iVar7 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x40)" (( "(") (binary_expression "iVar7 + 0x40" (identifier "iVar7") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (dVar1 < 0.0) goto LAB_001ad7e2;" (if "if") (parenthesized_expression "(dVar1 < 0.0)" (( "(") (binary_expression "dVar1 < 0.0" (identifier "dVar1") (< "<") (number_literal "0.0")) () ")")) (goto_statement "goto LAB_001ad7e2;" (goto "goto") (statement_identifier "LAB_001ad7e2") (; ";"))) (labeled_statement "LAB_001ad76e:\n          if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" (statement_identifier "LAB_001ad76e") (: ":") (if_statement "if ((double)DAT_0029f710 <= dVar1) {\n            dVar1 = (double)DAT_0029f710;\n          }" (if "if") (parenthesized_expression "((double)DAT_0029f710 <= dVar1)" (( "(") (binary_expression "(double)DAT_0029f710 <= dVar1" (cast_expression "(double)DAT_0029f710" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f710")) (<= "<=") (identifier "dVar1")) () ")")) (compound_statement "{\n            dVar1 = (double)DAT_0029f710;\n          }" ({ "{") (expression_statement "dVar1 = (double)DAT_0029f710;" (assignment_expression "dVar1 = (double)DAT_0029f710" (identifier "dVar1") (= "=") (cast_expression "(double)DAT_0029f710" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "DAT_0029f710"))) (; ";")) (} "}")))) (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(double *)(iVar7 + 0x40) = dVar1;" (assignment_expression "*(double *)(iVar7 + 0x40) = dVar1" (pointer_expression "*(double *)(iVar7 + 0x40)" (* "*") (cast_expression "(double *)(iVar7 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x40)" (( "(") (binary_expression "iVar7 + 0x40" (identifier "iVar7") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "dVar1")) (; ";")) (expression_statement "iVar7 = iVar7 + 0x50;" (assignment_expression "iVar7 = iVar7 + 0x50" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 0x50" (identifier "iVar7") (+ "+") (number_literal "0x50"))) (; ";")) (if_statement "if (iVar8 == iVar6) goto LAB_001ad7f1;" (if "if") (parenthesized_expression "(iVar8 == iVar6)" (( "(") (binary_expression "iVar8 == iVar6" (identifier "iVar8") (== "==") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_001ad7f1;" (goto "goto") (statement_identifier "LAB_001ad7f1") (; ";"))) (} "}"))) (expression_statement "*(undefined8 *)(iVar7 + 0x20) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x20) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x20)" (* "*") (cast_expression "(undefined8 *)(iVar7 + 0x20)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "dVar1 = *(double *)(iVar7 + 0x28);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x28)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar7 + 0x28)" (* "*") (cast_expression "(double *)(iVar7 + 0x28)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x28)" (( "(") (binary_expression "iVar7 + 0x28" (identifier "iVar7") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (0.0 <= dVar1) goto LAB_001ad73a;" (if "if") (parenthesized_expression "(0.0 <= dVar1)" (( "(") (binary_expression "0.0 <= dVar1" (number_literal "0.0") (<= "<=") (identifier "dVar1")) () ")")) (goto_statement "goto LAB_001ad73a;" (goto "goto") (statement_identifier "LAB_001ad73a") (; ";"))) (labeled_statement "LAB_001ad7b2:\n        *(undefined8 *)(iVar7 + 0x28) = 0;" (statement_identifier "LAB_001ad7b2") (: ":") (expression_statement "*(undefined8 *)(iVar7 + 0x28) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x28) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x28)" (* "*") (cast_expression "(undefined8 *)(iVar7 + 0x28)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x28)" (( "(") (binary_expression "iVar7 + 0x28" (identifier "iVar7") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "dVar1 = *(double *)(iVar7 + 0x30);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x30)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar7 + 0x30)" (* "*") (cast_expression "(double *)(iVar7 + 0x30)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x30)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (0.0 <= dVar1) goto LAB_001ad754;" (if "if") (parenthesized_expression "(0.0 <= dVar1)" (( "(") (binary_expression "0.0 <= dVar1" (number_literal "0.0") (<= "<=") (identifier "dVar1")) () ")")) (goto_statement "goto LAB_001ad754;" (goto "goto") (statement_identifier "LAB_001ad754") (; ";"))) (labeled_statement "LAB_001ad7ca:\n        *(undefined8 *)(iVar7 + 0x30) = 0;" (statement_identifier "LAB_001ad7ca") (: ":") (expression_statement "*(undefined8 *)(iVar7 + 0x30) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x30) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x30)" (* "*") (cast_expression "(undefined8 *)(iVar7 + 0x30)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x30)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "dVar1 = *(double *)(iVar7 + 0x40);" (assignment_expression "dVar1 = *(double *)(iVar7 + 0x40)" (identifier "dVar1") (= "=") (pointer_expression "*(double *)(iVar7 + 0x40)" (* "*") (cast_expression "(double *)(iVar7 + 0x40)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x40)" (( "(") (binary_expression "iVar7 + 0x40" (identifier "iVar7") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (0.0 <= dVar1) goto LAB_001ad76e;" (if "if") (parenthesized_expression "(0.0 <= dVar1)" (( "(") (binary_expression "0.0 <= dVar1" (number_literal "0.0") (<= "<=") (identifier "dVar1")) () ")")) (goto_statement "goto LAB_001ad76e;" (goto "goto") (statement_identifier "LAB_001ad76e") (; ";"))) (labeled_statement "LAB_001ad7e2:\n        iVar8 = iVar8 + 1;" (statement_identifier "LAB_001ad7e2") (: ":") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "*(undefined8 *)(iVar7 + 0x40) = 0;" (assignment_expression "*(undefined8 *)(iVar7 + 0x40) = 0" (pointer_expression "*(undefined8 *)(iVar7 + 0x40)" (* "*") (cast_expression "(undefined8 *)(iVar7 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x40)" (( "(") (binary_expression "iVar7 + 0x40" (identifier "iVar7") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = iVar7 + 0x50;" (assignment_expression "iVar7 = iVar7 + 0x50" (identifier "iVar7") (= "=") (binary_expression "iVar7 + 0x50" (identifier "iVar7") (+ "+") (number_literal "0x50"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar8 != iVar6)" (( "(") (binary_expression "iVar8 != iVar6" (identifier "iVar8") (!= "!=") (identifier "iVar6")) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_001ad7f1:\n    uVar4 = SyncImage(param_1,param_2);" (statement_identifier "LAB_001ad7f1") (: ":") (expression_statement "uVar4 = SyncImage(param_1,param_2);" (assignment_expression "uVar4 = SyncImage(param_1,param_2)" (identifier "uVar4") (= "=") (call_expression "SyncImage(param_1,param_2)" (identifier "SyncImage") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";"))) (goto_statement "goto LAB_001ad800;" (goto "goto") (statement_identifier "LAB_001ad800") (; ";")) (} "}"))) (expression_statement "local_3c = 0;" (assignment_expression "local_3c = 0" (identifier "local_3c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar5 = AcquireAuthenticCacheView(param_1,param_2);" (assignment_expression "uVar5 = AcquireAuthenticCacheView(param_1,param_2)" (identifier "uVar5") (= "=") (call_expression "AcquireAuthenticCacheView(param_1,param_2)" (identifier "AcquireAuthenticCacheView") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "iVar6 = GetImagePixelCacheType(param_1);" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" (identifier "iVar6") (= "=") (call_expression "GetImagePixelCacheType(param_1)" (identifier "GetImagePixelCacheType") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }\n  else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }" (if "if") (parenthesized_expression "(((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3))))" (( "(") (binary_expression "((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&\n     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))" (parenthesized_expression "((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3))" (( "(") (binary_expression "(iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (parenthesized_expression "(iVar6 == 4)" (( "(") (binary_expression "iVar6 == 4" (identifier "iVar6") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (( "(") (comma_expression "iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" (identifier "iVar6") (= "=") (call_expression "GetImagePixelCacheType(param_1)" (identifier "GetImagePixelCacheType") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar6 == 3" (identifier "iVar6") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))" (( "(") (parenthesized_expression "(iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3))" (( "(") (comma_expression "iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" (identifier "iVar6") (= "=") (call_expression "GetImagePixelCacheType(param_1)" (identifier "GetImagePixelCacheType") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar6 == 4 ||\n      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (binary_expression "iVar6 == 4" (identifier "iVar6") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)" (( "(") (comma_expression "iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3" (assignment_expression "iVar6 = GetImagePixelCacheType(param_1)" (identifier "iVar6") (= "=") (call_expression "GetImagePixelCacheType(param_1)" (identifier "GetImagePixelCacheType") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar6 == 3" (identifier "iVar6") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    iVar8 = GetMagickResourceLimit(7);\n    iVar6 = param_1[7];\n    iVar7 = iVar6 + 0x3f;\n    if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }\n    bVar2 = 0x7f < iVar6;\n    if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }\n    if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }\n  }" ({ "{") (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" (identifier "iVar8") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "iVar6 = param_1[7];" (assignment_expression "iVar6 = param_1[7]" (identifier "iVar6") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar7 = iVar6 + 0x3f;" (assignment_expression "iVar7 = iVar6 + 0x3f" (identifier "iVar7") (= "=") (binary_expression "iVar6 + 0x3f" (identifier "iVar6") (+ "+") (number_literal "0x3f"))) (; ";")) (if_statement "if (-1 < iVar6) {\n      iVar7 = iVar6;\n    }" (if "if") (parenthesized_expression "(-1 < iVar6)" (( "(") (binary_expression "-1 < iVar6" (number_literal "-1") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n      iVar7 = iVar6;\n    }" ({ "{") (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" (identifier "iVar7") (= "=") (identifier "iVar6")) (; ";")) (} "}"))) (expression_statement "bVar2 = 0x7f < iVar6;" (assignment_expression "bVar2 = 0x7f < iVar6" (identifier "bVar2") (= "=") (binary_expression "0x7f < iVar6" (number_literal "0x7f") (< "<") (identifier "iVar6"))) (; ";")) (if_statement "if (iVar8 < iVar7 >> 6) {\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }" (if "if") (parenthesized_expression "(iVar8 < iVar7 >> 6)" (( "(") (binary_expression "iVar8 < iVar7 >> 6" (identifier "iVar8") (< "<") (binary_expression "iVar7 >> 6" (identifier "iVar7") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n      iVar6 = GetMagickResourceLimit(7);\n      bVar2 = 1 < iVar6;\n    }" ({ "{") (expression_statement "iVar6 = GetMagickResourceLimit(7);" (assignment_expression "iVar6 = GetMagickResourceLimit(7)" (identifier "iVar6") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "bVar2 = 1 < iVar6;" (assignment_expression "bVar2 = 1 < iVar6" (identifier "bVar2") (= "=") (binary_expression "1 < iVar6" (number_literal "1") (< "<") (identifier "iVar6"))) (; ";")) (} "}"))) (if_statement "if (bVar2) {\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n      iVar8 = GetMagickResourceLimit(7);\n      iVar6 = param_1[7];\n      iVar7 = iVar6 + 0x3f;\n      if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }\n      iVar7 = iVar7 >> 6;\n      if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }\n    }" ({ "{") (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" (identifier "iVar8") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "iVar6 = param_1[7];" (assignment_expression "iVar6 = param_1[7]" (identifier "iVar6") (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "iVar7 = iVar6 + 0x3f;" (assignment_expression "iVar7 = iVar6 + 0x3f" (identifier "iVar7") (= "=") (binary_expression "iVar6 + 0x3f" (identifier "iVar6") (+ "+") (number_literal "0x3f"))) (; ";")) (if_statement "if (-1 < iVar6) {\n        iVar7 = iVar6;\n      }" (if "if") (parenthesized_expression "(-1 < iVar6)" (( "(") (binary_expression "-1 < iVar6" (number_literal "-1") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n        iVar7 = iVar6;\n      }" ({ "{") (expression_statement "iVar7 = iVar6;" (assignment_expression "iVar7 = iVar6" (identifier "iVar7") (= "=") (identifier "iVar6")) (; ";")) (} "}"))) (expression_statement "iVar7 = iVar7 >> 6;" (assignment_expression "iVar7 = iVar7 >> 6" (identifier "iVar7") (= "=") (binary_expression "iVar7 >> 6" (identifier "iVar7") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (iVar8 < iVar7) {\n        iVar7 = GetMagickResourceLimit(7);\n      }" (if "if") (parenthesized_expression "(iVar8 < iVar7)" (( "(") (binary_expression "iVar8 < iVar7" (identifier "iVar8") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n        iVar7 = GetMagickResourceLimit(7);\n      }" ({ "{") (expression_statement "iVar7 = GetMagickResourceLimit(7);" (assignment_expression "iVar7 = GetMagickResourceLimit(7)" (identifier "iVar7") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_001ad98f:\n      iVar7 = 1;\n    }" (else "else") (compound_statement "{\nLAB_001ad98f:\n      iVar7 = 1;\n    }" ({ "{") (labeled_statement "LAB_001ad98f:\n      iVar7 = 1;" (statement_identifier "LAB_001ad98f") (: ":") (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" (identifier "iVar7") (= "=") (number_literal "1")) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }\n  }" (else "else") (compound_statement "{\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }\n    uVar9 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\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 (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)" (parenthesized_expression "((int)((ulonglong)uVar9 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar9 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar9 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar9")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar9 < 2)" (( "(") (binary_expression "(uint)uVar9 < 2" (cast_expression "(uint)uVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar9")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      uVar9 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;\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 (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)" (parenthesized_expression "((int)((ulonglong)uVar9 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar9 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar9 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar9")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar9 < 2)" (( "(") (binary_expression "(uint)uVar9 < 2" (cast_expression "(uint)uVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar9")) (< "<") (number_literal "2")) () ")"))) () ")")) (goto_statement "goto LAB_001ad98f;" (goto "goto") (statement_identifier "LAB_001ad98f") (; ";"))) (} "}"))) (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 (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {\n      iVar7 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar7 = 2;\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)" (parenthesized_expression "((int)((ulonglong)uVar9 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar9 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar9 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar9 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar9 >> 0x20" (cast_expression "(ulonglong)uVar9" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar9")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar9 < 2)" (( "(") (binary_expression "(uint)uVar9 < 2" (cast_expression "(uint)uVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar9")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      iVar7 = GetMagickResourceLimit(7);\n    }" ({ "{") (expression_statement "iVar7 = GetMagickResourceLimit(7);" (assignment_expression "iVar7 = GetMagickResourceLimit(7)" (identifier "iVar7") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      iVar7 = 2;\n    }" (else "else") (compound_statement "{\n      iVar7 = 2;\n    }" ({ "{") (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" (identifier "iVar7") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (expression_statement "local_24 = (undefined1 *)&local_3c;" (assignment_expression "local_24 = (undefined1 *)&local_3c" (identifier "local_24") (= "=") (cast_expression "(undefined1 *)&local_3c" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")))) (; ";")) (expression_statement "local_34 = param_1;" (assignment_expression "local_34 = param_1" (identifier "local_34") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_30 = param_2;" (assignment_expression "local_30 = param_2" (identifier "local_30") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" (identifier "local_28") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_2c = uVar5;" (assignment_expression "local_2c = uVar5" (identifier "local_2c") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);" (call_expression "GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0)" (identifier "GOMP_parallel") (argument_list "(FUN_001aa6d0,&local_34,iVar7,0)" (( "(") (identifier "FUN_001aa6d0") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (identifier "iVar7") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar4 = local_28;" (assignment_expression "uVar4 = local_28" (identifier "uVar4") (= "=") (identifier "local_28")) (; ";")) (expression_statement "DestroyCacheView(uVar5);" (call_expression "DestroyCacheView(uVar5)" (identifier "DestroyCacheView") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (labeled_statement "LAB_001ad800:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (statement_identifier "LAB_001ad800") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_0029eab0();\n  }" ({ "{") (expression_statement "FUN_0029eab0();" (call_expression "FUN_0029eab0()" (identifier "FUN_0029eab0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar4;" (return "return") (identifier "uVar4") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */
/* 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_2 *var_2,type_3 *exception)

{
  double var_9;
  size_t var_12;
  bool bVar3;
  float var_7;
  type_4 *var_11;
  type_1 MVar6;
  type_5 *cache_view;
  type_6 var_16;
  int var_20;
  size_t var_10;
  int var_1;
  type_7 var_21;
  type_8 progress;
  type_2 *local_34;
  type_3 *local_30;
  type_5 *local_2c;
  type_1 local_28;
  type_9 *local_24;
  int var_24;
  type_10 uStack_14;
  
  uStack_14 = 0x1ad6b9;
  var_24 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image != (Image *) NULL","MagickCore/threshold.c",0x451,"ClampImage");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,
                  "ClampImage");
  }
  if (var_2->debug != var_4) {
    var_5(TraceEvent,"MagickCore/threshold.c","ClampImage",0x454,"%s",var_2->filename);
  }
  if (var_2->storage_class == var_6) {
    var_12 = var_2->colors;
    if (0 < (int)var_12) {
      var_10 = 0;
      var_11 = var_2->colormap;
      do {
        while (var_7 = (float)var_11->red, 0.0 <= var_7) {
          if (var_8 <= var_7) {
            var_7 = var_8;
          }
          var_11->red = (double)var_7;
          var_9 = var_11->green;
          if (var_9 < 0.0) goto LAB_001ad7b2;
LAB_001ad73a:
          if ((double)var_8 <= var_9) {
            var_9 = (double)var_8;
          }
          var_11->green = var_9;
          var_9 = var_11->blue;
          if (var_9 < 0.0) goto LAB_001ad7ca;
LAB_001ad754:
          if ((double)var_8 <= var_9) {
            var_9 = (double)var_8;
          }
          var_11->blue = var_9;
          var_9 = var_11->alpha;
          if (var_9 < 0.0) goto LAB_001ad7e2;
LAB_001ad76e:
          if ((double)var_8 <= var_9) {
            var_9 = (double)var_8;
          }
          var_10 = var_10 + 1;
          var_11->alpha = var_9;
          var_11 = var_11 + 1;
          if (var_10 == var_12) goto LAB_001ad7f1;
        }
        var_11->red = 0.0;
        var_9 = var_11->green;
        if (0.0 <= var_9) goto LAB_001ad73a;
LAB_001ad7b2:
        var_11->green = 0.0;
        var_9 = var_11->blue;
        if (0.0 <= var_9) goto LAB_001ad754;
LAB_001ad7ca:
        var_11->blue = 0.0;
        var_9 = var_11->alpha;
        if (0.0 <= var_9) goto LAB_001ad76e;
LAB_001ad7e2:
        var_10 = var_10 + 1;
        var_11->alpha = 0.0;
        var_11 = var_11 + 1;
      } while (var_10 != var_12);
    }
LAB_001ad7f1:
    MVar6 = var_13(var_2,exception);
    goto LAB_001ad800;
  }
  progress._0_4_ = 0;
  progress._4_4_ = 0;
  cache_view = var_14(var_2,exception);
  var_16 = var_15(var_2);
  if (((var_16 == var_17) || (var_16 = var_15(var_2), var_16 == var_18)) &&
     ((var_16 = var_15(var_2), var_16 == var_17 ||
      (var_16 = var_15(var_2), var_16 == var_18)))) {
    var_21 = var_19(ThreadResource);
    var_12 = var_2->rows;
    var_10 = var_12 + 0x3f;
    if (-1 < (int)var_12) {
      var_10 = var_12;
    }
    bVar3 = 0x7f < (int)var_12;
    if ((int)var_21 < (int)var_10 >> 6) {
      var_21 = var_19(ThreadResource);
      bVar3 = 1 < (int)var_21;
    }
    if (bVar3) {
      var_21 = var_19(ThreadResource);
      var_12 = var_2->rows;
      var_10 = var_12 + 0x3f;
      if (-1 < (int)var_12) {
        var_10 = var_12;
      }
      var_20 = (int)var_10 >> 6;
      if ((int)var_21 < var_20) {
        var_21 = var_19(ThreadResource);
        var_20 = (int)var_21;
      }
    }
    else {
LAB_001ad98f:
      var_20 = 1;
    }
  }
  else {
    var_21 = var_19(ThreadResource);
    if (((int)(var_21 >> 0x20) == 0) && ((type_11)var_21 < 2)) {
      var_21 = var_19(ThreadResource);
      if (((int)(var_21 >> 0x20) == 0) && ((type_11)var_21 < 2)) goto LAB_001ad98f;
    }
    var_21 = var_19(ThreadResource);
    if (((int)(var_21 >> 0x20) == 0) && ((type_11)var_21 < 2)) {
      var_21 = var_19(ThreadResource);
      var_20 = (int)var_21;
    }
    else {
      var_20 = 2;
    }
  }
  local_24 = (type_9 *)&progress;
  local_34 = var_2;
  local_30 = exception;
  local_28 = MagickTrue;
  local_2c = cache_view;
  var_22(ClampImage__omp_fn_3,&local_34,var_20,0);
  MVar6 = local_28;
  var_23(cache_view);
LAB_001ad800:
  if (var_24 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_25();
  }
  return MVar6;
}


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

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

undefined4 MASKED(int *param_1,undefined4 param_2)

{
  double dVar1;
  bool bVar2;
  float fVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int in_GS_OFFSET;
  undefined8 uVar9;
  undefined4 local_3c;
  undefined4 local_38;
  int *local_34;
  undefined4 local_30;
  undefined4 local_2c;
  undefined4 local_28;
  undefined1 *local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x1ad6b9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/threshold.c",0x451,"MASKED");
  }
  if (param_1[0xcd1] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/threshold.c",0x452,
                  "MASKED");
  }
  if (param_1[0xcca] != 0) {
    LogMagickEvent(0x8000,"MagickCore/threshold.c","MASKED",0x454,&DAT_002b6e4e,param_1 + 0xc6);
  }
  if (*param_1 == 2) {
    iVar6 = param_1[9];
    if (0 < iVar6) {
      iVar8 = 0;
      iVar7 = param_1[10];
      do {
        while (fVar3 = (float)*(double *)(iVar7 + 0x20), 0.0 <= fVar3) {
          if (DAT_0029f710 <= fVar3) {
            fVar3 = DAT_0029f710;
          }
          *(double *)(iVar7 + 0x20) = (double)fVar3;
          dVar1 = *(double *)(iVar7 + 0x28);
          if (dVar1 < 0.0) goto LAB_001ad7b2;
LAB_001ad73a:
          if ((double)DAT_0029f710 <= dVar1) {
            dVar1 = (double)DAT_0029f710;
          }
          *(double *)(iVar7 + 0x28) = dVar1;
          dVar1 = *(double *)(iVar7 + 0x30);
          if (dVar1 < 0.0) goto LAB_001ad7ca;
LAB_001ad754:
          if ((double)DAT_0029f710 <= dVar1) {
            dVar1 = (double)DAT_0029f710;
          }
          *(double *)(iVar7 + 0x30) = dVar1;
          dVar1 = *(double *)(iVar7 + 0x40);
          if (dVar1 < 0.0) goto LAB_001ad7e2;
LAB_001ad76e:
          if ((double)DAT_0029f710 <= dVar1) {
            dVar1 = (double)DAT_0029f710;
          }
          iVar8 = iVar8 + 1;
          *(double *)(iVar7 + 0x40) = dVar1;
          iVar7 = iVar7 + 0x50;
          if (iVar8 == iVar6) goto LAB_001ad7f1;
        }
        *(undefined8 *)(iVar7 + 0x20) = 0;
        dVar1 = *(double *)(iVar7 + 0x28);
        if (0.0 <= dVar1) goto LAB_001ad73a;
LAB_001ad7b2:
        *(undefined8 *)(iVar7 + 0x28) = 0;
        dVar1 = *(double *)(iVar7 + 0x30);
        if (0.0 <= dVar1) goto LAB_001ad754;
LAB_001ad7ca:
        *(undefined8 *)(iVar7 + 0x30) = 0;
        dVar1 = *(double *)(iVar7 + 0x40);
        if (0.0 <= dVar1) goto LAB_001ad76e;
LAB_001ad7e2:
        iVar8 = iVar8 + 1;
        *(undefined8 *)(iVar7 + 0x40) = 0;
        iVar7 = iVar7 + 0x50;
      } while (iVar8 != iVar6);
    }
LAB_001ad7f1:
    uVar4 = SyncImage(param_1,param_2);
    goto LAB_001ad800;
  }
  local_3c = 0;
  local_38 = 0;
  uVar5 = AcquireAuthenticCacheView(param_1,param_2);
  iVar6 = GetImagePixelCacheType(param_1);
  if (((iVar6 == 4) || (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)) &&
     ((iVar6 = GetImagePixelCacheType(param_1), iVar6 == 4 ||
      (iVar6 = GetImagePixelCacheType(param_1), iVar6 == 3)))) {
    iVar8 = GetMagickResourceLimit(7);
    iVar6 = param_1[7];
    iVar7 = iVar6 + 0x3f;
    if (-1 < iVar6) {
      iVar7 = iVar6;
    }
    bVar2 = 0x7f < iVar6;
    if (iVar8 < iVar7 >> 6) {
      iVar6 = GetMagickResourceLimit(7);
      bVar2 = 1 < iVar6;
    }
    if (bVar2) {
      iVar8 = GetMagickResourceLimit(7);
      iVar6 = param_1[7];
      iVar7 = iVar6 + 0x3f;
      if (-1 < iVar6) {
        iVar7 = iVar6;
      }
      iVar7 = iVar7 >> 6;
      if (iVar8 < iVar7) {
        iVar7 = GetMagickResourceLimit(7);
      }
    }
    else {
LAB_001ad98f:
      iVar7 = 1;
    }
  }
  else {
    uVar9 = GetMagickResourceLimit(7);
    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {
      uVar9 = GetMagickResourceLimit(7);
      if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) goto LAB_001ad98f;
    }
    uVar9 = GetMagickResourceLimit(7);
    if (((int)((ulonglong)uVar9 >> 0x20) == 0) && ((uint)uVar9 < 2)) {
      iVar7 = GetMagickResourceLimit(7);
    }
    else {
      iVar7 = 2;
    }
  }
  local_24 = (undefined1 *)&local_3c;
  local_34 = param_1;
  local_30 = param_2;
  local_28 = 1;
  local_2c = uVar5;
  GOMP_parallel(FUN_001aa6d0,&local_34,iVar7,0);
  uVar4 = local_28;
  DestroyCacheView(uVar5);
LAB_001ad800:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return uVar4;
}

