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

Image * StatisticImage(Image *image,StatisticType type,size_t width,size_t height,
                      ExceptionInfo *exception)

{
  size_t sVar1;
  bool bVar2;
  MagickBooleanType MVar3;
  uint uVar4;
  size_t sVar5;
  SkipNode *__s;
  PixelList *pPVar6;
  CacheView *cache_view;
  CacheView *cache_view_00;
  CacheType CVar7;
  int iVar8;
  size_t sVar9;
  uint uVar10;
  PixelList **ppPVar11;
  size_t sVar12;
  int in_GS_OFFSET;
  MagickSizeType MVar13;
  Image *local_74;
  PixelList **local_68;
  MagickOffsetType progress;
  Image *local_50;
  StatisticType local_4c;
  size_t local_48;
  size_t local_44;
  ExceptionInfo *local_40;
  CacheView *local_3c;
  CacheView *local_38;
  Image *local_34;
  PixelList **local_30;
  int local_2c;
  int local_28;
  MagickOffsetType *local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x194699;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (image == (Image *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");
  }
  if (image->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,
                  "StatisticImage");
  }
  if (image->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"MagickCore/statistic.c","StatisticImage",0xb67,"%s",image->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,
                  "StatisticImage");
  }
  if (exception->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,
                  "StatisticImage");
  }
  local_74 = CloneImage(image,0,0,MagickTrue,exception);
  if (local_74 == (Image *)0x0) goto LAB_00194a48;
  MVar3 = SetImageStorageClass(local_74,DirectClass,exception);
  if (MVar3 == MagickFalse) {
    DestroyImage(local_74);
    local_74 = (Image *)0x0;
    goto LAB_00194a48;
  }
  uVar10 = 1;
  if (height != 0) {
    uVar10 = height;
  }
  uVar4 = 1;
  if (width != 0) {
    uVar4 = width;
  }
  MVar13 = GetMagickResourceLimit(ThreadResource);
  sVar5 = (size_t)MVar13;
  local_68 = (PixelList **)AcquireQuantumMemory(sVar5,4);
  if (local_68 == (PixelList **)0x0) {
LAB_00194b30:
    DestroyImage(local_74);
    ThrowMagickException
              (exception,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,
               "MemoryAllocationFailed","`%s\'",image->filename);
    local_74 = (Image *)0x0;
    goto LAB_00194a48;
  }
  memset(local_68,0,sVar5 * 4);
  if (0 < (int)sVar5) {
    sVar12 = 0;
    ppPVar11 = local_68;
    do {
      pPVar6 = (PixelList *)AcquireMagickMemory(0x14);
      if (pPVar6 == (PixelList *)0x0) {
        *ppPVar11 = (PixelList *)0x0;
LAB_00194859:
        local_68 = DestroyPixelListThreadSet(local_68);
        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;
        break;
      }
      pPVar6->seed = 0;
      (pPVar6->skip_list).level = 0;
      (pPVar6->skip_list).nodes = (SkipNode *)0x0;
      pPVar6->signature = 0;
      pPVar6->length = uVar10 * uVar4;
      __s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c);
      (pPVar6->skip_list).nodes = __s;
      if (__s == (SkipNode *)0x0) {
        pPVar6 = DestroyPixelList(pPVar6);
        *ppPVar11 = pPVar6;
        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;
      }
      else {
        memset(__s,0,0x2c002c);
        pPVar6->signature = 0xabacadab;
        *ppPVar11 = pPVar6;
      }
      sVar12 = sVar12 + 1;
      ppPVar11 = ppPVar11 + 1;
    } while (sVar12 != sVar5);
  }
  progress._0_4_ = 0;
  progress._4_4_ = 0;
  sVar5 = image->columns;
  sVar12 = image->number_channels;
  cache_view = AcquireVirtualCacheView(image,exception);
  cache_view_00 = AcquireAuthenticCacheView(local_74,exception);
  CVar7 = GetImagePixelCacheType(image);
  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&
     ((CVar7 = GetImagePixelCacheType(local_74), CVar7 == MemoryCache ||
      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache)))) {
    MVar13 = GetMagickResourceLimit(ThreadResource);
    sVar1 = local_74->rows;
    sVar9 = sVar1 + 0x3f;
    if (-1 < (int)sVar1) {
      sVar9 = sVar1;
    }
    bVar2 = 0x7f < (int)sVar1;
    if ((int)MVar13 < (int)sVar9 >> 6) {
      MVar13 = GetMagickResourceLimit(ThreadResource);
      bVar2 = 1 < (int)MVar13;
    }
    if (bVar2) {
      MVar13 = GetMagickResourceLimit(ThreadResource);
      sVar1 = local_74->rows;
      sVar9 = sVar1 + 0x3f;
      if (-1 < (int)sVar1) {
        sVar9 = sVar1;
      }
      iVar8 = (int)sVar9 >> 6;
      if ((int)MVar13 < iVar8) {
        MVar13 = GetMagickResourceLimit(ThreadResource);
        iVar8 = (int)MVar13;
      }
    }
    else {
LAB_0019499c:
      iVar8 = 1;
    }
  }
  else {
    MVar13 = GetMagickResourceLimit(ThreadResource);
    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {
      MVar13 = GetMagickResourceLimit(ThreadResource);
      if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;
    }
    MVar13 = GetMagickResourceLimit(ThreadResource);
    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {
      MVar13 = GetMagickResourceLimit(ThreadResource);
      iVar8 = (int)MVar13;
    }
    else {
      iVar8 = 2;
    }
  }
  local_28 = 1;
  local_30 = local_68;
  local_40 = exception;
  local_44 = height;
  local_48 = width;
  local_4c = type;
  local_50 = image;
  local_24 = &progress;
  local_3c = cache_view;
  local_38 = cache_view_00;
  local_34 = local_74;
  local_2c = ((sVar5 + uVar4) * (uVar10 >> 1) + (uVar4 >> 1)) * sVar12;
  GOMP_parallel(StatisticImage__omp_fn_6,&local_50,iVar8,0);
  iVar8 = local_28;
  DestroyCacheView(cache_view_00);
  DestroyCacheView(cache_view);
  DestroyPixelListThreadSet(local_68);
  if (iVar8 == 0) {
    local_74 = DestroyImage(local_74);
  }
LAB_00194a48:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return local_74;
}



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

int StatisticImage(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)

{
  bool bVar1;
  int iVar2;
  uint uVar3;
  void *__s;
  int *piVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  uint uVar10;
  int *piVar11;
  int iVar12;
  int in_GS_OFFSET;
  undefined8 uVar13;
  int local_74;
  int *local_68;
  undefined4 local_5c;
  undefined4 local_58;
  int local_50;
  undefined4 local_4c;
  uint local_48;
  uint local_44;
  int local_40;
  undefined4 local_3c;
  undefined4 local_38;
  int local_34;
  int *local_30;
  int local_2c;
  int local_28;
  undefined4 *local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x194699;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");
  }
  if (*(int *)(param_1 + 0x3344) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,
                  "StatisticImage");
  }
  if (*(int *)(param_1 + 0x3328) != 0) {
    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,
                   param_1 + 0x318);
  }
  if (param_5 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,
                  "StatisticImage");
  }
  if (*(int *)(param_5 + 0x1c) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,
                  "StatisticImage");
  }
  local_74 = CloneImage(param_1,0,0,1,param_5);
  if (local_74 == 0) goto LAB_00194a48;
  iVar2 = SetImageStorageClass(local_74,1,param_5);
  if (iVar2 == 0) {
    DestroyImage(local_74);
    local_74 = 0;
    goto LAB_00194a48;
  }
  uVar10 = 1;
  if (param_4 != 0) {
    uVar10 = param_4;
  }
  uVar3 = 1;
  if (param_3 != 0) {
    uVar3 = param_3;
  }
  iVar2 = GetMagickResourceLimit(7);
  local_68 = (int *)AcquireQuantumMemory(iVar2,4);
  if (local_68 == (int *)0x0) {
LAB_00194b30:
    DestroyImage(local_74);
    ThrowMagickException
              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",
               "`%s\'",param_1 + 0x318);
    local_74 = 0;
    goto LAB_00194a48;
  }
  memset(local_68,0,iVar2 * 4);
  if (0 < iVar2) {
    iVar12 = 0;
    piVar11 = local_68;
    do {
      piVar4 = (int *)AcquireMagickMemory(0x14);
      if (piVar4 == (int *)0x0) {
        *piVar11 = 0;
LAB_00194859:
        local_68 = (int *)FUN_00190530();
        if (local_68 == (int *)0x0) goto LAB_00194b30;
        break;
      }
      piVar4[1] = 0;
      piVar4[2] = 0;
      piVar4[3] = 0;
      piVar4[4] = 0;
      *piVar4 = uVar10 * uVar3;
      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);
      piVar4[3] = (int)__s;
      if (__s == (void *)0x0) {
        iVar7 = FUN_0018fda0();
        *piVar11 = iVar7;
        if (iVar7 == 0) goto LAB_00194859;
      }
      else {
        memset(__s,0,0x2c002c);
        piVar4[4] = -0x54535255;
        *piVar11 = (int)piVar4;
      }
      iVar12 = iVar12 + 1;
      piVar11 = piVar11 + 1;
    } while (iVar12 != iVar2);
  }
  local_5c = 0;
  local_58 = 0;
  iVar2 = *(int *)(param_1 + 0x18);
  iVar12 = *(int *)(param_1 + 0x298);
  uVar5 = AcquireVirtualCacheView(param_1,param_5);
  uVar6 = AcquireAuthenticCacheView(local_74,param_5);
  iVar7 = GetImagePixelCacheType(param_1);
  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&
     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||
      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {
    iVar9 = GetMagickResourceLimit(7);
    iVar7 = *(int *)(local_74 + 0x1c);
    iVar8 = iVar7 + 0x3f;
    if (-1 < iVar7) {
      iVar8 = iVar7;
    }
    bVar1 = 0x7f < iVar7;
    if (iVar9 < iVar8 >> 6) {
      iVar7 = GetMagickResourceLimit(7);
      bVar1 = 1 < iVar7;
    }
    if (bVar1) {
      iVar9 = GetMagickResourceLimit(7);
      iVar7 = *(int *)(local_74 + 0x1c);
      iVar8 = iVar7 + 0x3f;
      if (-1 < iVar7) {
        iVar8 = iVar7;
      }
      iVar8 = iVar8 >> 6;
      if (iVar9 < iVar8) {
        iVar8 = GetMagickResourceLimit(7);
      }
    }
    else {
LAB_0019499c:
      iVar8 = 1;
    }
  }
  else {
    uVar13 = GetMagickResourceLimit(7);
    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {
      uVar13 = GetMagickResourceLimit(7);
      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;
    }
    uVar13 = GetMagickResourceLimit(7);
    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {
      iVar8 = GetMagickResourceLimit(7);
    }
    else {
      iVar8 = 2;
    }
  }
  local_28 = 1;
  local_30 = local_68;
  local_40 = param_5;
  local_44 = param_4;
  local_48 = param_3;
  local_4c = param_2;
  local_50 = param_1;
  local_24 = &local_5c;
  local_3c = uVar5;
  local_38 = uVar6;
  local_34 = local_74;
  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;
  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);
  iVar2 = local_28;
  DestroyCacheView(uVar6);
  DestroyCacheView(uVar5);
  FUN_00190530();
  if (iVar2 == 0) {
    local_74 = DestroyImage(local_74);
  }
LAB_00194a48:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return local_74;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00038830
ADD EBX,0x244967
SUB ESP,0x6c
MOV ECX,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x5c],ECX
XOR ECX,ECX
MOV EAX,dword ptr [ESP + 0x80]
MOV EDX,dword ptr [ESP + 0x90]
MOV dword ptr [ESP],EAX
MOV dword ptr [ESP + 0x4],EDX
TEST EAX,EAX
JZ 0x00194c00
MOV EAX,dword ptr [ESP]
CMP dword ptr [EAX + 0x3344],0xabacadab
JNZ 0x00194be1
MOV EAX,dword ptr [ESP]
MOV ESI,dword ptr [EAX + 0x3328]
TEST ESI,ESI
JNZ 0x00194ac0
MOV ECX,dword ptr [ESP + 0x4]
TEST ECX,ECX
JZ 0x00194c24
MOV EAX,dword ptr [ESP + 0x4]
CMP dword ptr [EAX + 0x1c],0xabacadab
JNZ 0x00194bc2
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x10]
PUSH EDI
PUSH 0x1
PUSH 0x0
PUSH 0x0
PUSH dword ptr [ESP + 0x1c]
CALL 0x00030b90
MOV dword ptr [ESP + 0x28],EAX
ADD ESP,0x20
TEST EAX,EAX
JZ 0x00194a48
SUB ESP,0x4
PUSH EDI
PUSH 0x1
PUSH EAX
CALL 0x00030bc0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00194b90
MOV ESI,dword ptr [ESP + 0x8c]
MOV EAX,0x1
MOV EDI,dword ptr [ESP + 0x88]
MOV EBP,EAX
TEST ESI,ESI
CMOVNZ EBP,dword ptr [ESP + 0x8c]
TEST EDI,EDI
CMOVNZ EAX,dword ptr [ESP + 0x88]
SUB ESP,0xc
MOV dword ptr [ESP + 0x28],EBP
MOV dword ptr [ESP + 0x24],EAX
PUSH 0x7
CALL 0x00032640
MOV dword ptr [ESP + 0x1c],EAX
MOV EDI,EAX
POP EAX
POP EDX
PUSH 0x4
PUSH EDI
CALL 0x000317b0
MOV dword ptr [ESP + 0x24],EAX
MOV ESI,EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00194b30
LEA EAX,[EDI*0x4 + 0x0]
SUB ESP,0x4
PUSH EAX
PUSH 0x0
PUSH ESI
CALL 0x000310a0
ADD ESP,0x10
TEST EDI,EDI
JLE 0x0019486e
IMUL EBP,dword ptr [ESP + 0x18]
XOR EDI,EDI
MOV dword ptr [ESP + 0x10],EBP
JMP 0x00194840
MOV dword ptr [EAX + 0x4],0x0
SUB ESP,0x8
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV EAX,dword ptr [ESP + 0x18]
MOV dword ptr [EBP],EAX
PUSH 0x2c
PUSH 0x10001
CALL 0x000337b0
ADD ESP,0x10
MOV dword ptr [EBP + 0xc],EAX
TEST EAX,EAX
JZ 0x00194a68
SUB ESP,0x4
PUSH 0x2c002c
PUSH 0x0
PUSH EAX
CALL 0x000310a0
MOV dword ptr [EBP + 0x10],0xabacadab
ADD ESP,0x10
MOV dword ptr [ESI],EBP
ADD EDI,0x1
ADD ESI,0x4
CMP EDI,dword ptr [ESP + 0xc]
JZ 0x0019486e
SUB ESP,0xc
PUSH 0x14
CALL 0x00030900
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JNZ 0x001947d8
MOV dword ptr [ESI],0x0
MOV EAX,dword ptr [ESP + 0x14]
CALL 0x00190530
MOV dword ptr [ESP + 0x14],EAX
TEST EAX,EAX
JZ 0x00194b30
MOV ECX,dword ptr [ESP]
MOV dword ptr [ESP + 0x20],0x0
SUB ESP,0x8
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x2c],0x0
MOV EAX,dword ptr [ESP + 0x24]
MOV ESI,dword ptr [ESP + 0xc]
MOV EBP,dword ptr [ECX + 0x18]
SHR EAX,0x1
ADD EBP,EDX
IMUL EBP,EAX
MOV EAX,EDX
SHR EAX,0x1
ADD EBP,EAX
IMUL EBP,dword ptr [ECX + 0x298]
PUSH ESI
MOV dword ptr [ESP + 0xc],ECX
PUSH ECX
CALL 0x00030eb0
MOV EDI,EAX
POP EAX
POP EDX
PUSH ESI
PUSH dword ptr [ESP + 0x14]
CALL 0x00032fa0
POP ECX
PUSH dword ptr [ESP + 0xc]
MOV ESI,EAX
CALL 0x000318f0
ADD ESP,0x10
CMP EAX,0x4
JZ 0x00194930
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x000318f0
ADD ESP,0x10
CMP EAX,0x3
JZ 0x00194930
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
CMP EDX,0x0
JBE 0x00194a80
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
CMP EDX,0x0
JA 0x00194ab0
CMP EAX,0x1
JA 0x00194ab0
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
JMP 0x001949a1
SUB ESP,0xc
PUSH dword ptr [ESP + 0x14]
CALL 0x000318f0
ADD ESP,0x10
CMP EAX,0x4
JZ 0x00194958
SUB ESP,0xc
PUSH dword ptr [ESP + 0x14]
CALL 0x000318f0
ADD ESP,0x10
CMP EAX,0x3
JNZ 0x001948e8
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
MOV ECX,dword ptr [ESP + 0x18]
ADD ESP,0x10
MOV ECX,dword ptr [ECX + 0x1c]
LEA EDX,[ECX + 0x3f]
TEST ECX,ECX
CMOVNS EDX,ECX
SAR EDX,0x6
CMP ECX,0x7f
SETG CL
CMP EDX,EAX
JLE 0x00194994
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
CMP EAX,0x1
SETG CL
TEST CL,CL
JNZ 0x00194b00
MOV EAX,0x1
MOV EDX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x50],EBP
MOV ECX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x44],ESI
MOV dword ptr [ESP + 0x40],EDI
MOV dword ptr [ESP + 0x54],0x1
MOV dword ptr [ESP + 0x48],EDX
MOV EDX,dword ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x4c],ECX
MOV dword ptr [ESP + 0x3c],EDX
MOV EDX,dword ptr [ESP + 0x8c]
MOV dword ptr [ESP + 0x38],EDX
MOV EDX,dword ptr [ESP + 0x88]
MOV dword ptr [ESP + 0x34],EDX
MOV EDX,dword ptr [ESP + 0x84]
MOV dword ptr [ESP + 0x30],EDX
MOV EDX,dword ptr [ESP]
MOV dword ptr [ESP + 0x2c],EDX
LEA EDX,[ESP + 0x20]
MOV dword ptr [ESP + 0x58],EDX
PUSH 0x0
PUSH EAX
LEA EAX,[ESP + 0x34]
PUSH EAX
LEA EAX,[EBX + 0xffdb6510]
PUSH EAX
CALL 0x000324d0
MOV EBP,dword ptr [ESP + 0x64]
MOV dword ptr [ESP],ESI
CALL 0x00032f30
MOV dword ptr [ESP],EDI
CALL 0x00032f30
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x14]
CALL 0x00190530
TEST EBP,EBP
JNZ 0x00194a48
SUB ESP,0xc
PUSH dword ptr [ESP + 0x14]
CALL 0x00032dd0
MOV dword ptr [ESP + 0x18],EAX
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x5c]
XOR ECX,dword ptr GS:[0x14]
MOV EAX,dword ptr [ESP + 0x8]
JNZ 0x00194c1f
ADD ESP,0x6c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,EBP
CALL 0x0018fda0
MOV dword ptr [ESI],EAX
TEST EAX,EAX
JNZ 0x00194834
JMP 0x00194859
CMP EAX,0x1
JA 0x001948fe
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
CMP EDX,0x0
JA 0x001948fe
CMP EAX,0x1
JA 0x001948fe
JMP 0x0019499c
MOV EAX,0x2
JMP 0x001949a1
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x8]
ADD EAX,0x318
PUSH EAX
LEA EAX,[EBX + 0xffedde4e]
PUSH EAX
LEA EAX,[EBX + 0xffeef294]
PUSH 0xb67
PUSH EAX
LEA EAX,[EBX + 0xffeef4a2]
PUSH EAX
PUSH 0x8000
CALL 0x000323b0
ADD ESP,0x20
JMP 0x001946f0
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
MOV ECX,dword ptr [ESP + 0x18]
ADD ESP,0x10
MOV ECX,dword ptr [ECX + 0x1c]
LEA EDX,[ECX + 0x3f]
TEST ECX,ECX
CMOVNS EDX,ECX
SAR EDX,0x6
CMP EDX,EAX
JG 0x00194bac
MOV EAX,EDX
JMP 0x001949a1
SUB ESP,0xc
PUSH dword ptr [ESP + 0x14]
CALL 0x00032dd0
ADD ESP,0x10
MOV EAX,dword ptr [ESP]
ADD EAX,0x318
PUSH EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec63d6]
PUSH EAX
LEA EAX,[EBX + 0xffeef294]
PUSH 0x190
PUSH 0xb78
PUSH EAX
LEA EAX,[EBX + 0xffeef4a2]
PUSH EAX
PUSH dword ptr [ESP + 0x20]
CALL 0x00032e80
ADD ESP,0x20
MOV dword ptr [ESP + 0x8],0x0
JMP 0x00194a48
SUB ESP,0xc
PUSH dword ptr [ESP + 0x14]
CALL 0x00032dd0
ADD ESP,0x10
MOV dword ptr [ESP + 0x8],0x0
JMP 0x00194a48
SUB ESP,0xc
PUSH 0x7
CALL 0x00032640
ADD ESP,0x10
MOV EDX,EAX
MOV EAX,EDX
JMP 0x001949a1
LEA EAX,[EBX + 0xffeef2a4]
PUSH EAX
LEA EAX,[EBX + 0xffeef4a2]
PUSH 0xb69
PUSH EAX
LEA EAX,[EBX + 0xffec776c]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffeef2a4]
PUSH EAX
LEA EAX,[EBX + 0xffeef4a2]
PUSH 0xb65
PUSH EAX
LEA EAX,[EBX + 0xffed1338]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffeef2a4]
PUSH EAX
LEA EAX,[EBX + 0xffeef4a2]
PUSH 0xb64
PUSH EAX
LEA EAX,[EBX + 0xffede594]
PUSH EAX
CALL 0x000313d0
CALL 0x0029eab0
LEA EAX,[EBX + 0xffeef2a4]
PUSH EAX
LEA EAX,[EBX + 0xffeef4a2]
PUSH 0xb68
PUSH EAX
LEA EAX,[EBX + 0xffec6a3c]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint StatisticImage(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  void *__s;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int iVar12;\n  int in_GS_OFFSET;\n  undefined8 uVar13;\n  int local_74;\n  int *local_68;\n  undefined4 local_5c;\n  undefined4 local_58;\n  int local_50;\n  undefined4 local_4c;\n  uint local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int *local_30;\n  int local_2c;\n  int local_28;\n  undefined4 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }\n  if (param_5 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(param_1,0,0,1,param_5);\n  if (local_74 == 0) goto LAB_00194a48;\n  iVar2 = SetImageStorageClass(local_74,1,param_5);\n  if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (param_4 != 0) {\n    uVar10 = param_4;\n  }\n  uVar3 = 1;\n  if (param_3 != 0) {\n    uVar3 = param_3;\n  }\n  iVar2 = GetMagickResourceLimit(7);\n  local_68 = (int *)AcquireQuantumMemory(iVar2,4);\n  if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,iVar2 * 4);\n  if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }\n  local_5c = 0;\n  local_58 = 0;\n  iVar2 = *(int *)(param_1 + 0x18);\n  iVar12 = *(int *)(param_1 + 0x298);\n  uVar5 = AcquireVirtualCacheView(param_1,param_5);\n  uVar6 = AcquireAuthenticCacheView(local_74,param_5);\n  iVar7 = GetImagePixelCacheType(param_1);\n  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = param_5;\n  local_44 = param_4;\n  local_48 = param_3;\n  local_4c = param_2;\n  local_50 = param_1;\n  local_24 = &local_5c;\n  local_3c = uVar5;\n  local_38 = uVar6;\n  local_34 = local_74;\n  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;\n  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);\n  iVar2 = local_28;\n  DestroyCacheView(uVar6);\n  DestroyCacheView(uVar5);\n  FUN_00190530();\n  if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return local_74;\n}\n\n" comment (function_definition "int StatisticImage(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  void *__s;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int iVar12;\n  int in_GS_OFFSET;\n  undefined8 uVar13;\n  int local_74;\n  int *local_68;\n  undefined4 local_5c;\n  undefined4 local_58;\n  int local_50;\n  undefined4 local_4c;\n  uint local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int *local_30;\n  int local_2c;\n  int local_28;\n  undefined4 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }\n  if (param_5 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(param_1,0,0,1,param_5);\n  if (local_74 == 0) goto LAB_00194a48;\n  iVar2 = SetImageStorageClass(local_74,1,param_5);\n  if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (param_4 != 0) {\n    uVar10 = param_4;\n  }\n  uVar3 = 1;\n  if (param_3 != 0) {\n    uVar3 = param_3;\n  }\n  iVar2 = GetMagickResourceLimit(7);\n  local_68 = (int *)AcquireQuantumMemory(iVar2,4);\n  if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,iVar2 * 4);\n  if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }\n  local_5c = 0;\n  local_58 = 0;\n  iVar2 = *(int *)(param_1 + 0x18);\n  iVar12 = *(int *)(param_1 + 0x298);\n  uVar5 = AcquireVirtualCacheView(param_1,param_5);\n  uVar6 = AcquireAuthenticCacheView(local_74,param_5);\n  iVar7 = GetImagePixelCacheType(param_1);\n  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = param_5;\n  local_44 = param_4;\n  local_48 = param_3;\n  local_4c = param_2;\n  local_50 = param_1;\n  local_24 = &local_5c;\n  local_3c = uVar5;\n  local_38 = uVar6;\n  local_34 = local_74;\n  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;\n  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);\n  iVar2 = local_28;\n  DestroyCacheView(uVar6);\n  DestroyCacheView(uVar5);\n  FUN_00190530();\n  if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return local_74;\n}" primitive_type (function_declarator "StatisticImage(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  void *__s;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int iVar12;\n  int in_GS_OFFSET;\n  undefined8 uVar13;\n  int local_74;\n  int *local_68;\n  undefined4 local_5c;\n  undefined4 local_58;\n  int local_50;\n  undefined4 local_4c;\n  uint local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int *local_30;\n  int local_2c;\n  int local_28;\n  undefined4 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }\n  if (param_5 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(param_1,0,0,1,param_5);\n  if (local_74 == 0) goto LAB_00194a48;\n  iVar2 = SetImageStorageClass(local_74,1,param_5);\n  if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (param_4 != 0) {\n    uVar10 = param_4;\n  }\n  uVar3 = 1;\n  if (param_3 != 0) {\n    uVar3 = param_3;\n  }\n  iVar2 = GetMagickResourceLimit(7);\n  local_68 = (int *)AcquireQuantumMemory(iVar2,4);\n  if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,iVar2 * 4);\n  if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }\n  local_5c = 0;\n  local_58 = 0;\n  iVar2 = *(int *)(param_1 + 0x18);\n  iVar12 = *(int *)(param_1 + 0x298);\n  uVar5 = AcquireVirtualCacheView(param_1,param_5);\n  uVar6 = AcquireAuthenticCacheView(local_74,param_5);\n  iVar7 = GetImagePixelCacheType(param_1);\n  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = param_5;\n  local_44 = param_4;\n  local_48 = param_3;\n  local_4c = param_2;\n  local_50 = param_1;\n  local_24 = &local_5c;\n  local_3c = uVar5;\n  local_38 = uVar6;\n  local_34 = local_74;\n  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;\n  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);\n  iVar2 = local_28;\n  DestroyCacheView(uVar6);\n  DestroyCacheView(uVar5);\n  FUN_00190530();\n  if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return local_74;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "undefined4 *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 = 0x194699;" (assignment_expression "uStack_14 = 0x194699" 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 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage")" identifier (argument_list "("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3344) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x3344) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x3344)" * (cast_expression "(int *)(param_1 + 0x3344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3344)" ( (binary_expression "param_1 + 0x3344" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3328) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3328) != 0" (pointer_expression "*(int *)(param_1 + 0x3328)" * (cast_expression "(int *)(param_1 + 0x3328)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3328)" ( (binary_expression "param_1 + 0x3328" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);" (call_expression "LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318)" identifier (argument_list "(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318)" ( number_literal , (string_literal ""MagickCore/statistic.c"" " string_content ") , (string_literal ""StatisticImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , (binary_expression "param_1 + 0x318" identifier + number_literal) ))) ;) })) (if_statement "if (param_5 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }" if (parenthesized_expression "(*(int *)(param_5 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_5 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_5 + 0x1c)" * (cast_expression "(int *)(param_5 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x1c)" ( (binary_expression "param_5 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (expression_statement "local_74 = CloneImage(param_1,0,0,1,param_5);" (assignment_expression "local_74 = CloneImage(param_1,0,0,1,param_5)" identifier = (call_expression "CloneImage(param_1,0,0,1,param_5)" identifier (argument_list "(param_1,0,0,1,param_5)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (local_74 == 0) goto LAB_00194a48;" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00194a48;" goto statement_identifier ;)) (expression_statement "iVar2 = SetImageStorageClass(local_74,1,param_5);" (assignment_expression "iVar2 = SetImageStorageClass(local_74,1,param_5)" identifier = (call_expression "SetImageStorageClass(local_74,1,param_5)" identifier (argument_list "(local_74,1,param_5)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" { (expression_statement "DestroyImage(local_74);" (call_expression "DestroyImage(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00194a48;" goto statement_identifier ;) })) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (if_statement "if (param_4 != 0) {\n    uVar10 = param_4;\n  }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar10 = param_4;\n  }" { (expression_statement "uVar10 = param_4;" (assignment_expression "uVar10 = param_4" identifier = identifier) ;) })) (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" identifier = number_literal) ;) (if_statement "if (param_3 != 0) {\n    uVar3 = param_3;\n  }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar3 = param_3;\n  }" { (expression_statement "uVar3 = param_3;" (assignment_expression "uVar3 = param_3" identifier = identifier) ;) })) (expression_statement "iVar2 = GetMagickResourceLimit(7);" (assignment_expression "iVar2 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "local_68 = (int *)AcquireQuantumMemory(iVar2,4);" (assignment_expression "local_68 = (int *)AcquireQuantumMemory(iVar2,4)" identifier = (cast_expression "(int *)AcquireQuantumMemory(iVar2,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(iVar2,4)" identifier (argument_list "(iVar2,4)" ( identifier , number_literal ))))) ;) (if_statement "if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" if (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" { (labeled_statement "LAB_00194b30:\n    DestroyImage(local_74);" statement_identifier : (expression_statement "DestroyImage(local_74);" (call_expression "DestroyImage(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ;)) (expression_statement "ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);" (call_expression "ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318)" identifier (argument_list "(param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318)" ( identifier , (string_literal ""MagickCore/statistic.c"" " string_content ") , (string_literal ""StatisticImage"" " string_content ") , number_literal , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x318" identifier + number_literal) ))) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00194a48;" goto statement_identifier ;) })) (expression_statement "memset(local_68,0,iVar2 * 4);" (call_expression "memset(local_68,0,iVar2 * 4)" identifier (argument_list "(local_68,0,iVar2 * 4)" ( identifier , number_literal , (binary_expression "iVar2 * 4" identifier * number_literal) ))) ;) (if_statement "if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (compound_statement "{\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "piVar11 = local_68;" (assignment_expression "piVar11 = local_68" identifier = identifier) ;) (do_statement "do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);" do (compound_statement "{\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    }" { (expression_statement "piVar4 = (int *)AcquireMagickMemory(0x14);" (assignment_expression "piVar4 = (int *)AcquireMagickMemory(0x14)" identifier = (cast_expression "(int *)AcquireMagickMemory(0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireMagickMemory(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (if_statement "if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }" { (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (labeled_statement "LAB_00194859:\n        local_68 = (int *)FUN_00190530();" statement_identifier : (expression_statement "local_68 = (int *)FUN_00190530();" (assignment_expression "local_68 = (int *)FUN_00190530()" identifier = (cast_expression "(int *)FUN_00190530()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00190530()" identifier (argument_list "()" ( ))))) ;)) (if_statement "if (local_68 == (int *)0x0) goto LAB_00194b30;" if (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00194b30;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[4] = 0;" (assignment_expression "piVar4[4] = 0" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = uVar10 * uVar3;" (assignment_expression "*piVar4 = uVar10 * uVar3" (pointer_expression "*piVar4" * identifier) = (binary_expression "uVar10 * uVar3" identifier * identifier)) ;) (expression_statement "__s = (void *)AcquireAlignedMemory(0x10001,0x2c);" (assignment_expression "__s = (void *)AcquireAlignedMemory(0x10001,0x2c)" identifier = (cast_expression "(void *)AcquireAlignedMemory(0x10001,0x2c)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireAlignedMemory(0x10001,0x2c)" identifier (argument_list "(0x10001,0x2c)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar4[3] = (int)__s;" (assignment_expression "piVar4[3] = (int)__s" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }" if (parenthesized_expression "(__s == (void *)0x0)" ( (binary_expression "__s == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }" { (expression_statement "iVar7 = FUN_0018fda0();" (assignment_expression "iVar7 = FUN_0018fda0()" identifier = (call_expression "FUN_0018fda0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar11 = iVar7;" (assignment_expression "*piVar11 = iVar7" (pointer_expression "*piVar11" * identifier) = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_00194859;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00194859;" goto statement_identifier ;)) }) (else_clause "else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }" else (compound_statement "{\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }" { (expression_statement "memset(__s,0,0x2c002c);" (call_expression "memset(__s,0,0x2c002c)" identifier (argument_list "(__s,0,0x2c002c)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar4[4] = -0x54535255;" (assignment_expression "piVar4[4] = -0x54535255" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar11 = (int)piVar4;" (assignment_expression "*piVar11 = (int)piVar4" (pointer_expression "*piVar11" * identifier) = (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 != iVar2)" ( (binary_expression "iVar12 != iVar2" identifier != identifier) )) ;) })) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(param_1 + 0x298);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x298)" identifier = (pointer_expression "*(int *)(param_1 + 0x298)" * (cast_expression "(int *)(param_1 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x298)" ( (binary_expression "param_1 + 0x298" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = AcquireVirtualCacheView(param_1,param_5);" (assignment_expression "uVar5 = AcquireVirtualCacheView(param_1,param_5)" identifier = (call_expression "AcquireVirtualCacheView(param_1,param_5)" identifier (argument_list "(param_1,param_5)" ( identifier , identifier )))) ;) (expression_statement "uVar6 = AcquireAuthenticCacheView(local_74,param_5);" (assignment_expression "uVar6 = AcquireAuthenticCacheView(local_74,param_5)" identifier = (call_expression "AcquireAuthenticCacheView(local_74,param_5)" identifier (argument_list "(local_74,param_5)" ( identifier , identifier )))) ;) (expression_statement "iVar7 = GetImagePixelCacheType(param_1);" (assignment_expression "iVar7 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" if (parenthesized_expression "(((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3))))" ( (binary_expression "((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))" (parenthesized_expression "((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3))" ( (binary_expression "(iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)" (parenthesized_expression "(iVar7 == 4)" ( (binary_expression "iVar7 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)" ( (comma_expression "iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3" (assignment_expression "iVar7 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar7 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))" ( (parenthesized_expression "(iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3))" ( (comma_expression "iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)" (assignment_expression "iVar7 = GetImagePixelCacheType(local_74)" identifier = (call_expression "GetImagePixelCacheType(local_74)" identifier (argument_list "(local_74)" ( identifier )))) , (binary_expression "iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)" (binary_expression "iVar7 == 4" identifier == number_literal) || (parenthesized_expression "(iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)" ( (comma_expression "iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3" (assignment_expression "iVar7 = GetImagePixelCacheType(local_74)" identifier = (call_expression "GetImagePixelCacheType(local_74)" identifier (argument_list "(local_74)" ( identifier )))) , (binary_expression "iVar7 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }" { (expression_statement "iVar9 = GetMagickResourceLimit(7);" (assignment_expression "iVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "iVar7 = *(int *)(local_74 + 0x1c);" (assignment_expression "iVar7 = *(int *)(local_74 + 0x1c)" identifier = (pointer_expression "*(int *)(local_74 + 0x1c)" * (cast_expression "(int *)(local_74 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_74 + 0x1c)" ( (binary_expression "local_74 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar7 + 0x3f;" (assignment_expression "iVar8 = iVar7 + 0x3f" identifier = (binary_expression "iVar7 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n      iVar8 = iVar7;\n    }" { (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" identifier = identifier) ;) })) (expression_statement "bVar1 = 0x7f < iVar7;" (assignment_expression "bVar1 = 0x7f < iVar7" identifier = (binary_expression "0x7f < iVar7" number_literal < identifier)) ;) (if_statement "if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }" if (parenthesized_expression "(iVar9 < iVar8 >> 6)" ( (binary_expression "iVar9 < iVar8 >> 6" identifier < (binary_expression "iVar8 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }" { (expression_statement "iVar7 = GetMagickResourceLimit(7);" (assignment_expression "iVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "bVar1 = 1 < iVar7;" (assignment_expression "bVar1 = 1 < iVar7" identifier = (binary_expression "1 < iVar7" number_literal < identifier)) ;) })) (if_statement "if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }" { (expression_statement "iVar9 = GetMagickResourceLimit(7);" (assignment_expression "iVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "iVar7 = *(int *)(local_74 + 0x1c);" (assignment_expression "iVar7 = *(int *)(local_74 + 0x1c)" identifier = (pointer_expression "*(int *)(local_74 + 0x1c)" * (cast_expression "(int *)(local_74 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_74 + 0x1c)" ( (binary_expression "local_74 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar7 + 0x3f;" (assignment_expression "iVar8 = iVar7 + 0x3f" identifier = (binary_expression "iVar7 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n        iVar8 = iVar7;\n      }" { (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" identifier = identifier) ;) })) (expression_statement "iVar8 = iVar8 >> 6;" (assignment_expression "iVar8 = iVar8 >> 6" identifier = (binary_expression "iVar8 >> 6" identifier >> number_literal)) ;) (if_statement "if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }" if (parenthesized_expression "(iVar9 < iVar8)" ( (binary_expression "iVar9 < iVar8" identifier < identifier) )) (compound_statement "{\n        iVar8 = GetMagickResourceLimit(7);\n      }" { (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) }) (else_clause "else {\nLAB_0019499c:\n      iVar8 = 1;\n    }" else (compound_statement "{\nLAB_0019499c:\n      iVar8 = 1;\n    }" { (labeled_statement "LAB_0019499c:\n      iVar8 = 1;" statement_identifier : (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;)) }))) }) (else_clause "else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" else (compound_statement "{\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" { (expression_statement "uVar13 = GetMagickResourceLimit(7);" (assignment_expression "uVar13 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2))" ( (binary_expression "((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)" (parenthesized_expression "((int)((ulonglong)uVar13 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar13 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar13 < 2)" ( (binary_expression "(uint)uVar13 < 2" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }" { (expression_statement "uVar13 = GetMagickResourceLimit(7);" (assignment_expression "uVar13 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;" if (parenthesized_expression "(((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2))" ( (binary_expression "((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)" (parenthesized_expression "((int)((ulonglong)uVar13 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar13 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar13 < 2)" ( (binary_expression "(uint)uVar13 < 2" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (goto_statement "goto LAB_0019499c;" goto statement_identifier ;)) })) (expression_statement "uVar13 = GetMagickResourceLimit(7);" (assignment_expression "uVar13 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2))" ( (binary_expression "((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)" (parenthesized_expression "((int)((ulonglong)uVar13 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar13 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar13 < 2)" ( (binary_expression "(uint)uVar13 < 2" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      iVar8 = GetMagickResourceLimit(7);\n    }" { (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) }) (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_28 = 1;" (assignment_expression "local_28 = 1" identifier = number_literal) ;) (expression_statement "local_30 = local_68;" (assignment_expression "local_30 = local_68" identifier = identifier) ;) (expression_statement "local_40 = param_5;" (assignment_expression "local_40 = param_5" identifier = identifier) ;) (expression_statement "local_44 = param_4;" (assignment_expression "local_44 = param_4" identifier = identifier) ;) (expression_statement "local_48 = param_3;" (assignment_expression "local_48 = param_3" identifier = identifier) ;) (expression_statement "local_4c = param_2;" (assignment_expression "local_4c = param_2" identifier = identifier) ;) (expression_statement "local_50 = param_1;" (assignment_expression "local_50 = param_1" identifier = identifier) ;) (expression_statement "local_24 = &local_5c;" (assignment_expression "local_24 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "local_3c = uVar5;" (assignment_expression "local_3c = uVar5" identifier = identifier) ;) (expression_statement "local_38 = uVar6;" (assignment_expression "local_38 = uVar6" identifier = identifier) ;) (expression_statement "local_34 = local_74;" (assignment_expression "local_34 = local_74" identifier = identifier) ;) (expression_statement "local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;" (assignment_expression "local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12" identifier = (binary_expression "((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12" (parenthesized_expression "((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1))" ( (binary_expression "(iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)" (binary_expression "(iVar2 + uVar3) * (uVar10 >> 1)" (parenthesized_expression "(iVar2 + uVar3)" ( (binary_expression "iVar2 + uVar3" identifier + identifier) )) * (parenthesized_expression "(uVar10 >> 1)" ( (binary_expression "uVar10 >> 1" identifier >> number_literal) ))) + (parenthesized_expression "(uVar3 >> 1)" ( (binary_expression "uVar3 >> 1" identifier >> number_literal) ))) )) * identifier)) ;) (expression_statement "GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);" (call_expression "GOMP_parallel(FUN_0018f510,&local_50,iVar8,0)" identifier (argument_list "(FUN_0018f510,&local_50,iVar8,0)" ( identifier , (pointer_expression "&local_50" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar2 = local_28;" (assignment_expression "iVar2 = local_28" identifier = identifier) ;) (expression_statement "DestroyCacheView(uVar6);" (call_expression "DestroyCacheView(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "DestroyCacheView(uVar5);" (call_expression "DestroyCacheView(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "FUN_00190530();" (call_expression "FUN_00190530()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    local_74 = DestroyImage(local_74);\n  }" { (expression_statement "local_74 = DestroyImage(local_74);" (assignment_expression "local_74 = DestroyImage(local_74)" identifier = (call_expression "DestroyImage(local_74)" identifier (argument_list "(local_74)" ( identifier )))) ;) })) (labeled_statement "LAB_00194a48:\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 local_74;" 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\nImage * StatisticImage(Image *image,StatisticType type,size_t width,size_t height,\n                      ExceptionInfo *exception)\n\n{\n  size_t sVar1;\n  bool bVar2;\n  MagickBooleanType MVar3;\n  uint uVar4;\n  size_t sVar5;\n  SkipNode *__s;\n  PixelList *pPVar6;\n  CacheView *cache_view;\n  CacheView *cache_view_00;\n  CacheType CVar7;\n  int iVar8;\n  size_t sVar9;\n  uint uVar10;\n  PixelList **ppPVar11;\n  size_t sVar12;\n  int in_GS_OFFSET;\n  MagickSizeType MVar13;\n  Image *local_74;\n  PixelList **local_68;\n  MagickOffsetType progress;\n  Image *local_50;\n  StatisticType local_4c;\n  size_t local_48;\n  size_t local_44;\n  ExceptionInfo *local_40;\n  CacheView *local_3c;\n  CacheView *local_38;\n  Image *local_34;\n  PixelList **local_30;\n  int local_2c;\n  int local_28;\n  MagickOffsetType *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\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/statistic.c",0xb64,"StatisticImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/statistic.c","StatisticImage",0xb67,"%s",image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(image,0,0,MagickTrue,exception);\n  if (local_74 == (Image *)0x0) goto LAB_00194a48;\n  MVar3 = SetImageStorageClass(local_74,DirectClass,exception);\n  if (MVar3 == MagickFalse) {\n    DestroyImage(local_74);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (height != 0) {\n    uVar10 = height;\n  }\n  uVar4 = 1;\n  if (width != 0) {\n    uVar4 = width;\n  }\n  MVar13 = GetMagickResourceLimit(ThreadResource);\n  sVar5 = (size_t)MVar13;\n  local_68 = (PixelList **)AcquireQuantumMemory(sVar5,4);\n  if (local_68 == (PixelList **)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (exception,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,\n               "MemoryAllocationFailed","`%s\'",image->filename);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,sVar5 * 4);\n  if (0 < (int)sVar5) {\n    sVar12 = 0;\n    ppPVar11 = local_68;\n    do {\n      pPVar6 = (PixelList *)AcquireMagickMemory(0x14);\n      if (pPVar6 == (PixelList *)0x0) {\n        *ppPVar11 = (PixelList *)0x0;\nLAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);\n        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;\n        break;\n      }\n      pPVar6->seed = 0;\n      (pPVar6->skip_list).level = 0;\n      (pPVar6->skip_list).nodes = (SkipNode *)0x0;\n      pPVar6->signature = 0;\n      pPVar6->length = uVar10 * uVar4;\n      __s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c);\n      (pPVar6->skip_list).nodes = __s;\n      if (__s == (SkipNode *)0x0) {\n        pPVar6 = DestroyPixelList(pPVar6);\n        *ppPVar11 = pPVar6;\n        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }\n      sVar12 = sVar12 + 1;\n      ppPVar11 = ppPVar11 + 1;\n    } while (sVar12 != sVar5);\n  }\n  progress._0_4_ = 0;\n  progress._4_4_ = 0;\n  sVar5 = image->columns;\n  sVar12 = image->number_channels;\n  cache_view = AcquireVirtualCacheView(image,exception);\n  cache_view_00 = AcquireAuthenticCacheView(local_74,exception);\n  CVar7 = GetImagePixelCacheType(image);\n  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(local_74), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache)))) {\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = local_74->rows;\n    sVar9 = sVar1 + 0x3f;\n    if (-1 < (int)sVar1) {\n      sVar9 = sVar1;\n    }\n    bVar2 = 0x7f < (int)sVar1;\n    if ((int)MVar13 < (int)sVar9 >> 6) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (int)MVar13;\n    }\n    if (bVar2) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = local_74->rows;\n      sVar9 = sVar1 + 0x3f;\n      if (-1 < (int)sVar1) {\n        sVar9 = sVar1;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar13 < iVar8) {\n        MVar13 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar13;\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;\n    }\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar13;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = exception;\n  local_44 = height;\n  local_48 = width;\n  local_4c = type;\n  local_50 = image;\n  local_24 = &progress;\n  local_3c = cache_view;\n  local_38 = cache_view_00;\n  local_34 = local_74;\n  local_2c = ((sVar5 + uVar4) * (uVar10 >> 1) + (uVar4 >> 1)) * sVar12;\n  GOMP_parallel(StatisticImage__omp_fn_6,&local_50,iVar8,0);\n  iVar8 = local_28;\n  DestroyCacheView(cache_view_00);\n  DestroyCacheView(cache_view);\n  DestroyPixelListThreadSet(local_68);\n  if (iVar8 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return local_74;\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "Image * StatisticImage(Image *image,StatisticType type,size_t width,size_t height,\n                      ExceptionInfo *exception)\n\n{\n  size_t sVar1;\n  bool bVar2;\n  MagickBooleanType MVar3;\n  uint uVar4;\n  size_t sVar5;\n  SkipNode *__s;\n  PixelList *pPVar6;\n  CacheView *cache_view;\n  CacheView *cache_view_00;\n  CacheType CVar7;\n  int iVar8;\n  size_t sVar9;\n  uint uVar10;\n  PixelList **ppPVar11;\n  size_t sVar12;\n  int in_GS_OFFSET;\n  MagickSizeType MVar13;\n  Image *local_74;\n  PixelList **local_68;\n  MagickOffsetType progress;\n  Image *local_50;\n  StatisticType local_4c;\n  size_t local_48;\n  size_t local_44;\n  ExceptionInfo *local_40;\n  CacheView *local_3c;\n  CacheView *local_38;\n  Image *local_34;\n  PixelList **local_30;\n  int local_2c;\n  int local_28;\n  MagickOffsetType *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\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/statistic.c",0xb64,"StatisticImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/statistic.c","StatisticImage",0xb67,"%s",image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(image,0,0,MagickTrue,exception);\n  if (local_74 == (Image *)0x0) goto LAB_00194a48;\n  MVar3 = SetImageStorageClass(local_74,DirectClass,exception);\n  if (MVar3 == MagickFalse) {\n    DestroyImage(local_74);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (height != 0) {\n    uVar10 = height;\n  }\n  uVar4 = 1;\n  if (width != 0) {\n    uVar4 = width;\n  }\n  MVar13 = GetMagickResourceLimit(ThreadResource);\n  sVar5 = (size_t)MVar13;\n  local_68 = (PixelList **)AcquireQuantumMemory(sVar5,4);\n  if (local_68 == (PixelList **)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (exception,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,\n               "MemoryAllocationFailed","`%s\'",image->filename);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,sVar5 * 4);\n  if (0 < (int)sVar5) {\n    sVar12 = 0;\n    ppPVar11 = local_68;\n    do {\n      pPVar6 = (PixelList *)AcquireMagickMemory(0x14);\n      if (pPVar6 == (PixelList *)0x0) {\n        *ppPVar11 = (PixelList *)0x0;\nLAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);\n        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;\n        break;\n      }\n      pPVar6->seed = 0;\n      (pPVar6->skip_list).level = 0;\n      (pPVar6->skip_list).nodes = (SkipNode *)0x0;\n      pPVar6->signature = 0;\n      pPVar6->length = uVar10 * uVar4;\n      __s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c);\n      (pPVar6->skip_list).nodes = __s;\n      if (__s == (SkipNode *)0x0) {\n        pPVar6 = DestroyPixelList(pPVar6);\n        *ppPVar11 = pPVar6;\n        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }\n      sVar12 = sVar12 + 1;\n      ppPVar11 = ppPVar11 + 1;\n    } while (sVar12 != sVar5);\n  }\n  progress._0_4_ = 0;\n  progress._4_4_ = 0;\n  sVar5 = image->columns;\n  sVar12 = image->number_channels;\n  cache_view = AcquireVirtualCacheView(image,exception);\n  cache_view_00 = AcquireAuthenticCacheView(local_74,exception);\n  CVar7 = GetImagePixelCacheType(image);\n  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(local_74), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache)))) {\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = local_74->rows;\n    sVar9 = sVar1 + 0x3f;\n    if (-1 < (int)sVar1) {\n      sVar9 = sVar1;\n    }\n    bVar2 = 0x7f < (int)sVar1;\n    if ((int)MVar13 < (int)sVar9 >> 6) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (int)MVar13;\n    }\n    if (bVar2) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = local_74->rows;\n      sVar9 = sVar1 + 0x3f;\n      if (-1 < (int)sVar1) {\n        sVar9 = sVar1;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar13 < iVar8) {\n        MVar13 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar13;\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;\n    }\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar13;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = exception;\n  local_44 = height;\n  local_48 = width;\n  local_4c = type;\n  local_50 = image;\n  local_24 = &progress;\n  local_3c = cache_view;\n  local_38 = cache_view_00;\n  local_34 = local_74;\n  local_2c = ((sVar5 + uVar4) * (uVar10 >> 1) + (uVar4 >> 1)) * sVar12;\n  GOMP_parallel(StatisticImage__omp_fn_6,&local_50,iVar8,0);\n  iVar8 = local_28;\n  DestroyCacheView(cache_view_00);\n  DestroyCacheView(cache_view);\n  DestroyPixelListThreadSet(local_68);\n  if (iVar8 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return local_74;\n}" type_identifier (pointer_declarator "* StatisticImage(Image *image,StatisticType type,size_t width,size_t height,\n                      ExceptionInfo *exception)" * (function_declarator "StatisticImage(Image *image,StatisticType type,size_t width,size_t height,\n                      ExceptionInfo *exception)" identifier (parameter_list "(Image *image,StatisticType type,size_t width,size_t height,\n                      ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "StatisticType type" type_identifier identifier) , (parameter_declaration "size_t width" primitive_type identifier) , (parameter_declaration "size_t height" primitive_type identifier) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) )))) (compound_statement "{\n  size_t sVar1;\n  bool bVar2;\n  MagickBooleanType MVar3;\n  uint uVar4;\n  size_t sVar5;\n  SkipNode *__s;\n  PixelList *pPVar6;\n  CacheView *cache_view;\n  CacheView *cache_view_00;\n  CacheType CVar7;\n  int iVar8;\n  size_t sVar9;\n  uint uVar10;\n  PixelList **ppPVar11;\n  size_t sVar12;\n  int in_GS_OFFSET;\n  MagickSizeType MVar13;\n  Image *local_74;\n  PixelList **local_68;\n  MagickOffsetType progress;\n  Image *local_50;\n  StatisticType local_4c;\n  size_t local_48;\n  size_t local_44;\n  ExceptionInfo *local_40;\n  CacheView *local_3c;\n  CacheView *local_38;\n  Image *local_34;\n  PixelList **local_30;\n  int local_2c;\n  int local_28;\n  MagickOffsetType *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\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/statistic.c",0xb64,"StatisticImage");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/statistic.c","StatisticImage",0xb67,"%s",image->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(image,0,0,MagickTrue,exception);\n  if (local_74 == (Image *)0x0) goto LAB_00194a48;\n  MVar3 = SetImageStorageClass(local_74,DirectClass,exception);\n  if (MVar3 == MagickFalse) {\n    DestroyImage(local_74);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (height != 0) {\n    uVar10 = height;\n  }\n  uVar4 = 1;\n  if (width != 0) {\n    uVar4 = width;\n  }\n  MVar13 = GetMagickResourceLimit(ThreadResource);\n  sVar5 = (size_t)MVar13;\n  local_68 = (PixelList **)AcquireQuantumMemory(sVar5,4);\n  if (local_68 == (PixelList **)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (exception,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,\n               "MemoryAllocationFailed","`%s\'",image->filename);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,sVar5 * 4);\n  if (0 < (int)sVar5) {\n    sVar12 = 0;\n    ppPVar11 = local_68;\n    do {\n      pPVar6 = (PixelList *)AcquireMagickMemory(0x14);\n      if (pPVar6 == (PixelList *)0x0) {\n        *ppPVar11 = (PixelList *)0x0;\nLAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);\n        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;\n        break;\n      }\n      pPVar6->seed = 0;\n      (pPVar6->skip_list).level = 0;\n      (pPVar6->skip_list).nodes = (SkipNode *)0x0;\n      pPVar6->signature = 0;\n      pPVar6->length = uVar10 * uVar4;\n      __s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c);\n      (pPVar6->skip_list).nodes = __s;\n      if (__s == (SkipNode *)0x0) {\n        pPVar6 = DestroyPixelList(pPVar6);\n        *ppPVar11 = pPVar6;\n        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }\n      sVar12 = sVar12 + 1;\n      ppPVar11 = ppPVar11 + 1;\n    } while (sVar12 != sVar5);\n  }\n  progress._0_4_ = 0;\n  progress._4_4_ = 0;\n  sVar5 = image->columns;\n  sVar12 = image->number_channels;\n  cache_view = AcquireVirtualCacheView(image,exception);\n  cache_view_00 = AcquireAuthenticCacheView(local_74,exception);\n  CVar7 = GetImagePixelCacheType(image);\n  if (((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(local_74), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache)))) {\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = local_74->rows;\n    sVar9 = sVar1 + 0x3f;\n    if (-1 < (int)sVar1) {\n      sVar9 = sVar1;\n    }\n    bVar2 = 0x7f < (int)sVar1;\n    if ((int)MVar13 < (int)sVar9 >> 6) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (int)MVar13;\n    }\n    if (bVar2) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = local_74->rows;\n      sVar9 = sVar1 + 0x3f;\n      if (-1 < (int)sVar1) {\n        sVar9 = sVar1;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar13 < iVar8) {\n        MVar13 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar13;\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;\n    }\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar13;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = exception;\n  local_44 = height;\n  local_48 = width;\n  local_4c = type;\n  local_50 = image;\n  local_24 = &progress;\n  local_3c = cache_view;\n  local_38 = cache_view_00;\n  local_34 = local_74;\n  local_2c = ((sVar5 + uVar4) * (uVar10 >> 1) + (uVar4 >> 1)) * sVar12;\n  GOMP_parallel(StatisticImage__omp_fn_6,&local_50,iVar8,0);\n  iVar8 = local_28;\n  DestroyCacheView(cache_view_00);\n  DestroyCacheView(cache_view);\n  DestroyPixelListThreadSet(local_68);\n  if (iVar8 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return local_74;\n}" { (declaration "size_t sVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "MagickBooleanType MVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "SkipNode *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "PixelList *pPVar6;" type_identifier (pointer_declarator "*pPVar6" * identifier) ;) (declaration "CacheView *cache_view;" type_identifier (pointer_declarator "*cache_view" * identifier) ;) (declaration "CacheView *cache_view_00;" type_identifier (pointer_declarator "*cache_view_00" * identifier) ;) (declaration "CacheType CVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "PixelList **ppPVar11;" type_identifier (pointer_declarator "**ppPVar11" * (pointer_declarator "*ppPVar11" * identifier)) ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "MagickSizeType MVar13;" type_identifier identifier ;) (declaration "Image *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "PixelList **local_68;" type_identifier (pointer_declarator "**local_68" * (pointer_declarator "*local_68" * identifier)) ;) (declaration "MagickOffsetType progress;" type_identifier identifier ;) (declaration "Image *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "StatisticType local_4c;" type_identifier identifier ;) (declaration "size_t local_48;" primitive_type identifier ;) (declaration "size_t local_44;" primitive_type identifier ;) (declaration "ExceptionInfo *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "CacheView *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "CacheView *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "Image *local_34;" type_identifier (pointer_declarator "*local_34" * identifier) ;) (declaration "PixelList **local_30;" type_identifier (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier)) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "MagickOffsetType *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 = 0x194699;" (assignment_expression "uStack_14 = 0x194699" 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/statistic.c",0xb64,"StatisticImage");\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/statistic.c",0xb64,"StatisticImage");\n  }" { comment (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage")" identifier (argument_list "("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (if_statement "if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\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/statistic.c",0xb65,\n                  "StatisticImage");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (if_statement "if (image->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"MagickCore/statistic.c","StatisticImage",0xb67,"%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/statistic.c","StatisticImage",0xb67,"%s",image->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"MagickCore/statistic.c","StatisticImage",0xb67,"%s",image->filename);" (call_expression "LogMagickEvent(TraceEvent,"MagickCore/statistic.c","StatisticImage",0xb67,"%s",image->filename)" identifier (argument_list "(TraceEvent,"MagickCore/statistic.c","StatisticImage",0xb67,"%s",image->filename)" ( identifier , (string_literal ""MagickCore/statistic.c"" " string_content ") , (string_literal ""StatisticImage"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }" if (parenthesized_expression "(exception == (ExceptionInfo *)0x0)" ( (binary_expression "exception == (ExceptionInfo *)0x0" identifier == (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }" if (parenthesized_expression "(exception->signature != 0xabacadab)" ( (binary_expression "exception->signature != 0xabacadab" (field_expression "exception->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (expression_statement "local_74 = CloneImage(image,0,0,MagickTrue,exception);" (assignment_expression "local_74 = CloneImage(image,0,0,MagickTrue,exception)" identifier = (call_expression "CloneImage(image,0,0,MagickTrue,exception)" identifier (argument_list "(image,0,0,MagickTrue,exception)" ( identifier , number_literal , number_literal , identifier , identifier )))) ;) (if_statement "if (local_74 == (Image *)0x0) goto LAB_00194a48;" if (parenthesized_expression "(local_74 == (Image *)0x0)" ( (binary_expression "local_74 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00194a48;" goto statement_identifier ;)) (expression_statement "MVar3 = SetImageStorageClass(local_74,DirectClass,exception);" (assignment_expression "MVar3 = SetImageStorageClass(local_74,DirectClass,exception)" identifier = (call_expression "SetImageStorageClass(local_74,DirectClass,exception)" identifier (argument_list "(local_74,DirectClass,exception)" ( identifier , identifier , identifier )))) ;) (if_statement "if (MVar3 == MagickFalse) {\n    DestroyImage(local_74);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }" if (parenthesized_expression "(MVar3 == MagickFalse)" ( (binary_expression "MVar3 == MagickFalse" identifier == identifier) )) (compound_statement "{\n    DestroyImage(local_74);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }" { (expression_statement "DestroyImage(local_74);" (call_expression "DestroyImage(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ;) (expression_statement "local_74 = (Image *)0x0;" (assignment_expression "local_74 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00194a48;" goto statement_identifier ;) })) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (if_statement "if (height != 0) {\n    uVar10 = height;\n  }" if (parenthesized_expression "(height != 0)" ( (binary_expression "height != 0" identifier != number_literal) )) (compound_statement "{\n    uVar10 = height;\n  }" { (expression_statement "uVar10 = height;" (assignment_expression "uVar10 = height" identifier = identifier) ;) })) (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) (if_statement "if (width != 0) {\n    uVar4 = width;\n  }" if (parenthesized_expression "(width != 0)" ( (binary_expression "width != 0" identifier != number_literal) )) (compound_statement "{\n    uVar4 = width;\n  }" { (expression_statement "uVar4 = width;" (assignment_expression "uVar4 = width" identifier = identifier) ;) })) (expression_statement "MVar13 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar13 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "sVar5 = (size_t)MVar13;" (assignment_expression "sVar5 = (size_t)MVar13" identifier = (cast_expression "(size_t)MVar13" ( (type_descriptor "size_t" primitive_type) ) identifier)) ;) (expression_statement "local_68 = (PixelList **)AcquireQuantumMemory(sVar5,4);" (assignment_expression "local_68 = (PixelList **)AcquireQuantumMemory(sVar5,4)" identifier = (cast_expression "(PixelList **)AcquireQuantumMemory(sVar5,4)" ( (type_descriptor "PixelList **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "AcquireQuantumMemory(sVar5,4)" identifier (argument_list "(sVar5,4)" ( identifier , number_literal ))))) ;) (if_statement "if (local_68 == (PixelList **)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (exception,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,\n               "MemoryAllocationFailed","`%s\'",image->filename);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }" if (parenthesized_expression "(local_68 == (PixelList **)0x0)" ( (binary_expression "local_68 == (PixelList **)0x0" identifier == (cast_expression "(PixelList **)0x0" ( (type_descriptor "PixelList **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (exception,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,\n               "MemoryAllocationFailed","`%s\'",image->filename);\n    local_74 = (Image *)0x0;\n    goto LAB_00194a48;\n  }" { (labeled_statement "LAB_00194b30:\n    DestroyImage(local_74);" statement_identifier : (expression_statement "DestroyImage(local_74);" (call_expression "DestroyImage(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ;)) (expression_statement "ThrowMagickException\n              (exception,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,\n               "MemoryAllocationFailed","`%s\'",image->filename);" (call_expression "ThrowMagickException\n              (exception,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,\n               "MemoryAllocationFailed","`%s\'",image->filename)" identifier (argument_list "(exception,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,\n               "MemoryAllocationFailed","`%s\'",image->filename)" ( identifier , (string_literal ""MagickCore/statistic.c"" " string_content ") , (string_literal ""StatisticImage"" " string_content ") , number_literal , identifier , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) (expression_statement "local_74 = (Image *)0x0;" (assignment_expression "local_74 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00194a48;" goto statement_identifier ;) })) (expression_statement "memset(local_68,0,sVar5 * 4);" (call_expression "memset(local_68,0,sVar5 * 4)" identifier (argument_list "(local_68,0,sVar5 * 4)" ( identifier , number_literal , (binary_expression "sVar5 * 4" identifier * number_literal) ))) ;) (if_statement "if (0 < (int)sVar5) {\n    sVar12 = 0;\n    ppPVar11 = local_68;\n    do {\n      pPVar6 = (PixelList *)AcquireMagickMemory(0x14);\n      if (pPVar6 == (PixelList *)0x0) {\n        *ppPVar11 = (PixelList *)0x0;\nLAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);\n        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;\n        break;\n      }\n      pPVar6->seed = 0;\n      (pPVar6->skip_list).level = 0;\n      (pPVar6->skip_list).nodes = (SkipNode *)0x0;\n      pPVar6->signature = 0;\n      pPVar6->length = uVar10 * uVar4;\n      __s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c);\n      (pPVar6->skip_list).nodes = __s;\n      if (__s == (SkipNode *)0x0) {\n        pPVar6 = DestroyPixelList(pPVar6);\n        *ppPVar11 = pPVar6;\n        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }\n      sVar12 = sVar12 + 1;\n      ppPVar11 = ppPVar11 + 1;\n    } while (sVar12 != sVar5);\n  }" if (parenthesized_expression "(0 < (int)sVar5)" ( (binary_expression "0 < (int)sVar5" number_literal < (cast_expression "(int)sVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n    sVar12 = 0;\n    ppPVar11 = local_68;\n    do {\n      pPVar6 = (PixelList *)AcquireMagickMemory(0x14);\n      if (pPVar6 == (PixelList *)0x0) {\n        *ppPVar11 = (PixelList *)0x0;\nLAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);\n        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;\n        break;\n      }\n      pPVar6->seed = 0;\n      (pPVar6->skip_list).level = 0;\n      (pPVar6->skip_list).nodes = (SkipNode *)0x0;\n      pPVar6->signature = 0;\n      pPVar6->length = uVar10 * uVar4;\n      __s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c);\n      (pPVar6->skip_list).nodes = __s;\n      if (__s == (SkipNode *)0x0) {\n        pPVar6 = DestroyPixelList(pPVar6);\n        *ppPVar11 = pPVar6;\n        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }\n      sVar12 = sVar12 + 1;\n      ppPVar11 = ppPVar11 + 1;\n    } while (sVar12 != sVar5);\n  }" { (expression_statement "sVar12 = 0;" (assignment_expression "sVar12 = 0" identifier = number_literal) ;) (expression_statement "ppPVar11 = local_68;" (assignment_expression "ppPVar11 = local_68" identifier = identifier) ;) (do_statement "do {\n      pPVar6 = (PixelList *)AcquireMagickMemory(0x14);\n      if (pPVar6 == (PixelList *)0x0) {\n        *ppPVar11 = (PixelList *)0x0;\nLAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);\n        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;\n        break;\n      }\n      pPVar6->seed = 0;\n      (pPVar6->skip_list).level = 0;\n      (pPVar6->skip_list).nodes = (SkipNode *)0x0;\n      pPVar6->signature = 0;\n      pPVar6->length = uVar10 * uVar4;\n      __s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c);\n      (pPVar6->skip_list).nodes = __s;\n      if (__s == (SkipNode *)0x0) {\n        pPVar6 = DestroyPixelList(pPVar6);\n        *ppPVar11 = pPVar6;\n        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }\n      sVar12 = sVar12 + 1;\n      ppPVar11 = ppPVar11 + 1;\n    } while (sVar12 != sVar5);" do (compound_statement "{\n      pPVar6 = (PixelList *)AcquireMagickMemory(0x14);\n      if (pPVar6 == (PixelList *)0x0) {\n        *ppPVar11 = (PixelList *)0x0;\nLAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);\n        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;\n        break;\n      }\n      pPVar6->seed = 0;\n      (pPVar6->skip_list).level = 0;\n      (pPVar6->skip_list).nodes = (SkipNode *)0x0;\n      pPVar6->signature = 0;\n      pPVar6->length = uVar10 * uVar4;\n      __s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c);\n      (pPVar6->skip_list).nodes = __s;\n      if (__s == (SkipNode *)0x0) {\n        pPVar6 = DestroyPixelList(pPVar6);\n        *ppPVar11 = pPVar6;\n        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }\n      sVar12 = sVar12 + 1;\n      ppPVar11 = ppPVar11 + 1;\n    }" { (expression_statement "pPVar6 = (PixelList *)AcquireMagickMemory(0x14);" (assignment_expression "pPVar6 = (PixelList *)AcquireMagickMemory(0x14)" identifier = (cast_expression "(PixelList *)AcquireMagickMemory(0x14)" ( (type_descriptor "PixelList *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireMagickMemory(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (if_statement "if (pPVar6 == (PixelList *)0x0) {\n        *ppPVar11 = (PixelList *)0x0;\nLAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);\n        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;\n        break;\n      }" if (parenthesized_expression "(pPVar6 == (PixelList *)0x0)" ( (binary_expression "pPVar6 == (PixelList *)0x0" identifier == (cast_expression "(PixelList *)0x0" ( (type_descriptor "PixelList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *ppPVar11 = (PixelList *)0x0;\nLAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);\n        if (local_68 == (PixelList **)0x0) goto LAB_00194b30;\n        break;\n      }" { (expression_statement "*ppPVar11 = (PixelList *)0x0;" (assignment_expression "*ppPVar11 = (PixelList *)0x0" (pointer_expression "*ppPVar11" * identifier) = (cast_expression "(PixelList *)0x0" ( (type_descriptor "PixelList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00194859:\n        local_68 = DestroyPixelListThreadSet(local_68);" statement_identifier : (expression_statement "local_68 = DestroyPixelListThreadSet(local_68);" (assignment_expression "local_68 = DestroyPixelListThreadSet(local_68)" identifier = (call_expression "DestroyPixelListThreadSet(local_68)" identifier (argument_list "(local_68)" ( identifier )))) ;)) (if_statement "if (local_68 == (PixelList **)0x0) goto LAB_00194b30;" if (parenthesized_expression "(local_68 == (PixelList **)0x0)" ( (binary_expression "local_68 == (PixelList **)0x0" identifier == (cast_expression "(PixelList **)0x0" ( (type_descriptor "PixelList **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00194b30;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "pPVar6->seed = 0;" (assignment_expression "pPVar6->seed = 0" (field_expression "pPVar6->seed" identifier -> field_identifier) = number_literal) ;) (expression_statement "(pPVar6->skip_list).level = 0;" (assignment_expression "(pPVar6->skip_list).level = 0" (field_expression "(pPVar6->skip_list).level" (parenthesized_expression "(pPVar6->skip_list)" ( (field_expression "pPVar6->skip_list" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pPVar6->skip_list).nodes = (SkipNode *)0x0;" (assignment_expression "(pPVar6->skip_list).nodes = (SkipNode *)0x0" (field_expression "(pPVar6->skip_list).nodes" (parenthesized_expression "(pPVar6->skip_list)" ( (field_expression "pPVar6->skip_list" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(SkipNode *)0x0" ( (type_descriptor "SkipNode *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pPVar6->signature = 0;" (assignment_expression "pPVar6->signature = 0" (field_expression "pPVar6->signature" identifier -> field_identifier) = number_literal) ;) (expression_statement "pPVar6->length = uVar10 * uVar4;" (assignment_expression "pPVar6->length = uVar10 * uVar4" (field_expression "pPVar6->length" identifier -> field_identifier) = (binary_expression "uVar10 * uVar4" identifier * identifier)) ;) (expression_statement "__s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c);" (assignment_expression "__s = (SkipNode *)AcquireAlignedMemory(0x10001,0x2c)" identifier = (cast_expression "(SkipNode *)AcquireAlignedMemory(0x10001,0x2c)" ( (type_descriptor "SkipNode *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireAlignedMemory(0x10001,0x2c)" identifier (argument_list "(0x10001,0x2c)" ( number_literal , number_literal ))))) ;) (expression_statement "(pPVar6->skip_list).nodes = __s;" (assignment_expression "(pPVar6->skip_list).nodes = __s" (field_expression "(pPVar6->skip_list).nodes" (parenthesized_expression "(pPVar6->skip_list)" ( (field_expression "pPVar6->skip_list" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (if_statement "if (__s == (SkipNode *)0x0) {\n        pPVar6 = DestroyPixelList(pPVar6);\n        *ppPVar11 = pPVar6;\n        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }" if (parenthesized_expression "(__s == (SkipNode *)0x0)" ( (binary_expression "__s == (SkipNode *)0x0" identifier == (cast_expression "(SkipNode *)0x0" ( (type_descriptor "SkipNode *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pPVar6 = DestroyPixelList(pPVar6);\n        *ppPVar11 = pPVar6;\n        if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;\n      }" { (expression_statement "pPVar6 = DestroyPixelList(pPVar6);" (assignment_expression "pPVar6 = DestroyPixelList(pPVar6)" identifier = (call_expression "DestroyPixelList(pPVar6)" identifier (argument_list "(pPVar6)" ( identifier )))) ;) (expression_statement "*ppPVar11 = pPVar6;" (assignment_expression "*ppPVar11 = pPVar6" (pointer_expression "*ppPVar11" * identifier) = identifier) ;) (if_statement "if (pPVar6 == (PixelList *)0x0) goto LAB_00194859;" if (parenthesized_expression "(pPVar6 == (PixelList *)0x0)" ( (binary_expression "pPVar6 == (PixelList *)0x0" identifier == (cast_expression "(PixelList *)0x0" ( (type_descriptor "PixelList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00194859;" goto statement_identifier ;)) }) (else_clause "else {\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }" else (compound_statement "{\n        memset(__s,0,0x2c002c);\n        pPVar6->signature = 0xabacadab;\n        *ppPVar11 = pPVar6;\n      }" { (expression_statement "memset(__s,0,0x2c002c);" (call_expression "memset(__s,0,0x2c002c)" identifier (argument_list "(__s,0,0x2c002c)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "pPVar6->signature = 0xabacadab;" (assignment_expression "pPVar6->signature = 0xabacadab" (field_expression "pPVar6->signature" identifier -> field_identifier) = number_literal) ;) (expression_statement "*ppPVar11 = pPVar6;" (assignment_expression "*ppPVar11 = pPVar6" (pointer_expression "*ppPVar11" * identifier) = identifier) ;) }))) (expression_statement "sVar12 = sVar12 + 1;" (assignment_expression "sVar12 = sVar12 + 1" identifier = (binary_expression "sVar12 + 1" identifier + number_literal)) ;) (expression_statement "ppPVar11 = ppPVar11 + 1;" (assignment_expression "ppPVar11 = ppPVar11 + 1" identifier = (binary_expression "ppPVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(sVar12 != sVar5)" ( (binary_expression "sVar12 != sVar5" identifier != 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 "sVar5 = image->columns;" (assignment_expression "sVar5 = image->columns" identifier = (field_expression "image->columns" identifier -> field_identifier)) ;) (expression_statement "sVar12 = image->number_channels;" (assignment_expression "sVar12 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "cache_view = AcquireVirtualCacheView(image,exception);" (assignment_expression "cache_view = AcquireVirtualCacheView(image,exception)" identifier = (call_expression "AcquireVirtualCacheView(image,exception)" identifier (argument_list "(image,exception)" ( identifier , identifier )))) ;) (expression_statement "cache_view_00 = AcquireAuthenticCacheView(local_74,exception);" (assignment_expression "cache_view_00 = AcquireAuthenticCacheView(local_74,exception)" identifier = (call_expression "AcquireAuthenticCacheView(local_74,exception)" identifier (argument_list "(local_74,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(local_74), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache)))) {\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = local_74->rows;\n    sVar9 = sVar1 + 0x3f;\n    if (-1 < (int)sVar1) {\n      sVar9 = sVar1;\n    }\n    bVar2 = 0x7f < (int)sVar1;\n    if ((int)MVar13 < (int)sVar9 >> 6) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (int)MVar13;\n    }\n    if (bVar2) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = local_74->rows;\n      sVar9 = sVar1 + 0x3f;\n      if (-1 < (int)sVar1) {\n        sVar9 = sVar1;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar13 < iVar8) {\n        MVar13 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar13;\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;\n    }\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar13;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" if (parenthesized_expression "(((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(local_74), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache))))" ( (binary_expression "((CVar7 == MemoryCache) || (CVar7 = GetImagePixelCacheType(image), CVar7 == MapCache)) &&\n     ((CVar7 = GetImagePixelCacheType(local_74), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), 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(local_74), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache)))" ( (parenthesized_expression "(CVar7 = GetImagePixelCacheType(local_74), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache))" ( (comma_expression "CVar7 = GetImagePixelCacheType(local_74), CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache)" (assignment_expression "CVar7 = GetImagePixelCacheType(local_74)" identifier = (call_expression "GetImagePixelCacheType(local_74)" identifier (argument_list "(local_74)" ( identifier )))) , (binary_expression "CVar7 == MemoryCache ||\n      (CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache)" (binary_expression "CVar7 == MemoryCache" identifier == identifier) || (parenthesized_expression "(CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache)" ( (comma_expression "CVar7 = GetImagePixelCacheType(local_74), CVar7 == MapCache" (assignment_expression "CVar7 = GetImagePixelCacheType(local_74)" identifier = (call_expression "GetImagePixelCacheType(local_74)" identifier (argument_list "(local_74)" ( identifier )))) , (binary_expression "CVar7 == MapCache" identifier == identifier)) )))) )) ))) )) (compound_statement "{\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    sVar1 = local_74->rows;\n    sVar9 = sVar1 + 0x3f;\n    if (-1 < (int)sVar1) {\n      sVar9 = sVar1;\n    }\n    bVar2 = 0x7f < (int)sVar1;\n    if ((int)MVar13 < (int)sVar9 >> 6) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (int)MVar13;\n    }\n    if (bVar2) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = local_74->rows;\n      sVar9 = sVar1 + 0x3f;\n      if (-1 < (int)sVar1) {\n        sVar9 = sVar1;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar13 < iVar8) {\n        MVar13 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar13;\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }" { (expression_statement "MVar13 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar13 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "sVar1 = local_74->rows;" (assignment_expression "sVar1 = local_74->rows" identifier = (field_expression "local_74->rows" identifier -> field_identifier)) ;) (expression_statement "sVar9 = sVar1 + 0x3f;" (assignment_expression "sVar9 = sVar1 + 0x3f" identifier = (binary_expression "sVar1 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < (int)sVar1) {\n      sVar9 = sVar1;\n    }" if (parenthesized_expression "(-1 < (int)sVar1)" ( (binary_expression "-1 < (int)sVar1" number_literal < (cast_expression "(int)sVar1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      sVar9 = sVar1;\n    }" { (expression_statement "sVar9 = sVar1;" (assignment_expression "sVar9 = sVar1" identifier = identifier) ;) })) (expression_statement "bVar2 = 0x7f < (int)sVar1;" (assignment_expression "bVar2 = 0x7f < (int)sVar1" identifier = (binary_expression "0x7f < (int)sVar1" number_literal < (cast_expression "(int)sVar1" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)MVar13 < (int)sVar9 >> 6) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (int)MVar13;\n    }" if (parenthesized_expression "((int)MVar13 < (int)sVar9 >> 6)" ( (binary_expression "(int)MVar13 < (int)sVar9 >> 6" (cast_expression "(int)MVar13" ( (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      MVar13 = GetMagickResourceLimit(ThreadResource);\n      bVar2 = 1 < (int)MVar13;\n    }" { (expression_statement "MVar13 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar13 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "bVar2 = 1 < (int)MVar13;" (assignment_expression "bVar2 = 1 < (int)MVar13" identifier = (binary_expression "1 < (int)MVar13" number_literal < (cast_expression "(int)MVar13" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (if_statement "if (bVar2) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = local_74->rows;\n      sVar9 = sVar1 + 0x3f;\n      if (-1 < (int)sVar1) {\n        sVar9 = sVar1;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar13 < iVar8) {\n        MVar13 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar13;\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      sVar1 = local_74->rows;\n      sVar9 = sVar1 + 0x3f;\n      if (-1 < (int)sVar1) {\n        sVar9 = sVar1;\n      }\n      iVar8 = (int)sVar9 >> 6;\n      if ((int)MVar13 < iVar8) {\n        MVar13 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar13;\n      }\n    }" { (expression_statement "MVar13 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar13 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "sVar1 = local_74->rows;" (assignment_expression "sVar1 = local_74->rows" identifier = (field_expression "local_74->rows" identifier -> field_identifier)) ;) (expression_statement "sVar9 = sVar1 + 0x3f;" (assignment_expression "sVar9 = sVar1 + 0x3f" identifier = (binary_expression "sVar1 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < (int)sVar1) {\n        sVar9 = sVar1;\n      }" if (parenthesized_expression "(-1 < (int)sVar1)" ( (binary_expression "-1 < (int)sVar1" number_literal < (cast_expression "(int)sVar1" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        sVar9 = sVar1;\n      }" { (expression_statement "sVar9 = sVar1;" (assignment_expression "sVar9 = sVar1" 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)MVar13 < iVar8) {\n        MVar13 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar13;\n      }" if (parenthesized_expression "((int)MVar13 < iVar8)" ( (binary_expression "(int)MVar13 < iVar8" (cast_expression "(int)MVar13" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) (compound_statement "{\n        MVar13 = GetMagickResourceLimit(ThreadResource);\n        iVar8 = (int)MVar13;\n      }" { (expression_statement "MVar13 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar13 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "iVar8 = (int)MVar13;" (assignment_expression "iVar8 = (int)MVar13" identifier = (cast_expression "(int)MVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) }) (else_clause "else {\nLAB_0019499c:\n      iVar8 = 1;\n    }" else (compound_statement "{\nLAB_0019499c:\n      iVar8 = 1;\n    }" { (labeled_statement "LAB_0019499c:\n      iVar8 = 1;" statement_identifier : (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;)) }))) }) (else_clause "else {\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;\n    }\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar13;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" else (compound_statement "{\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;\n    }\n    MVar13 = GetMagickResourceLimit(ThreadResource);\n    if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar13;\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" { (expression_statement "MVar13 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar13 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (if_statement "if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;\n    }" if (parenthesized_expression "(((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2))" ( (binary_expression "((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)" (parenthesized_expression "((int)(MVar13 >> 0x20) == 0)" ( (binary_expression "(int)(MVar13 >> 0x20) == 0" (cast_expression "(int)(MVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(MVar13 >> 0x20)" ( (binary_expression "MVar13 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)MVar13 < 2)" ( (binary_expression "(uint)MVar13 < 2" (cast_expression "(uint)MVar13" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;\n    }" { (expression_statement "MVar13 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar13 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (if_statement "if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) goto LAB_0019499c;" if (parenthesized_expression "(((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2))" ( (binary_expression "((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)" (parenthesized_expression "((int)(MVar13 >> 0x20) == 0)" ( (binary_expression "(int)(MVar13 >> 0x20) == 0" (cast_expression "(int)(MVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(MVar13 >> 0x20)" ( (binary_expression "MVar13 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)MVar13 < 2)" ( (binary_expression "(uint)MVar13 < 2" (cast_expression "(uint)MVar13" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (goto_statement "goto LAB_0019499c;" goto statement_identifier ;)) })) (expression_statement "MVar13 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar13 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (if_statement "if (((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)) {\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar13;\n    }\n    else {\n      iVar8 = 2;\n    }" if (parenthesized_expression "(((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2))" ( (binary_expression "((int)(MVar13 >> 0x20) == 0) && ((uint)MVar13 < 2)" (parenthesized_expression "((int)(MVar13 >> 0x20) == 0)" ( (binary_expression "(int)(MVar13 >> 0x20) == 0" (cast_expression "(int)(MVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(MVar13 >> 0x20)" ( (binary_expression "MVar13 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)MVar13 < 2)" ( (binary_expression "(uint)MVar13 < 2" (cast_expression "(uint)MVar13" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      MVar13 = GetMagickResourceLimit(ThreadResource);\n      iVar8 = (int)MVar13;\n    }" { (expression_statement "MVar13 = GetMagickResourceLimit(ThreadResource);" (assignment_expression "MVar13 = GetMagickResourceLimit(ThreadResource)" identifier = (call_expression "GetMagickResourceLimit(ThreadResource)" identifier (argument_list "(ThreadResource)" ( identifier )))) ;) (expression_statement "iVar8 = (int)MVar13;" (assignment_expression "iVar8 = (int)MVar13" identifier = (cast_expression "(int)MVar13" ( (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_28 = 1;" (assignment_expression "local_28 = 1" identifier = number_literal) ;) (expression_statement "local_30 = local_68;" (assignment_expression "local_30 = local_68" identifier = identifier) ;) (expression_statement "local_40 = exception;" (assignment_expression "local_40 = exception" identifier = identifier) ;) (expression_statement "local_44 = height;" (assignment_expression "local_44 = height" identifier = identifier) ;) (expression_statement "local_48 = width;" (assignment_expression "local_48 = width" identifier = identifier) ;) (expression_statement "local_4c = type;" (assignment_expression "local_4c = type" identifier = identifier) ;) (expression_statement "local_50 = image;" (assignment_expression "local_50 = image" identifier = identifier) ;) (expression_statement "local_24 = &progress;" (assignment_expression "local_24 = &progress" identifier = (pointer_expression "&progress" & identifier)) ;) (expression_statement "local_3c = cache_view;" (assignment_expression "local_3c = cache_view" identifier = identifier) ;) (expression_statement "local_38 = cache_view_00;" (assignment_expression "local_38 = cache_view_00" identifier = identifier) ;) (expression_statement "local_34 = local_74;" (assignment_expression "local_34 = local_74" identifier = identifier) ;) (expression_statement "local_2c = ((sVar5 + uVar4) * (uVar10 >> 1) + (uVar4 >> 1)) * sVar12;" (assignment_expression "local_2c = ((sVar5 + uVar4) * (uVar10 >> 1) + (uVar4 >> 1)) * sVar12" identifier = (binary_expression "((sVar5 + uVar4) * (uVar10 >> 1) + (uVar4 >> 1)) * sVar12" (parenthesized_expression "((sVar5 + uVar4) * (uVar10 >> 1) + (uVar4 >> 1))" ( (binary_expression "(sVar5 + uVar4) * (uVar10 >> 1) + (uVar4 >> 1)" (binary_expression "(sVar5 + uVar4) * (uVar10 >> 1)" (parenthesized_expression "(sVar5 + uVar4)" ( (binary_expression "sVar5 + uVar4" identifier + identifier) )) * (parenthesized_expression "(uVar10 >> 1)" ( (binary_expression "uVar10 >> 1" identifier >> number_literal) ))) + (parenthesized_expression "(uVar4 >> 1)" ( (binary_expression "uVar4 >> 1" identifier >> number_literal) ))) )) * identifier)) ;) (expression_statement "GOMP_parallel(StatisticImage__omp_fn_6,&local_50,iVar8,0);" (call_expression "GOMP_parallel(StatisticImage__omp_fn_6,&local_50,iVar8,0)" identifier (argument_list "(StatisticImage__omp_fn_6,&local_50,iVar8,0)" ( identifier , (pointer_expression "&local_50" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar8 = local_28;" (assignment_expression "iVar8 = local_28" identifier = identifier) ;) (expression_statement "DestroyCacheView(cache_view_00);" (call_expression "DestroyCacheView(cache_view_00)" identifier (argument_list "(cache_view_00)" ( identifier ))) ;) (expression_statement "DestroyCacheView(cache_view);" (call_expression "DestroyCacheView(cache_view)" identifier (argument_list "(cache_view)" ( identifier ))) ;) (expression_statement "DestroyPixelListThreadSet(local_68);" (call_expression "DestroyPixelListThreadSet(local_68)" identifier (argument_list "(local_68)" ( identifier ))) ;) (if_statement "if (iVar8 == 0) {\n    local_74 = DestroyImage(local_74);\n  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n    local_74 = DestroyImage(local_74);\n  }" { (expression_statement "local_74 = DestroyImage(local_74);" (assignment_expression "local_74 = DestroyImage(local_74)" identifier = (call_expression "DestroyImage(local_74)" identifier (argument_list "(local_74)" ( identifier )))) ;) })) (labeled_statement "LAB_00194a48:\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 local_74;" return identifier ;) })))
(translation_unit "int StatisticImage(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  void *__s;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int iVar12;\n  int in_GS_OFFSET;\n  undefined8 uVar13;\n  int local_74;\n  int *local_68;\n  undefined4 local_5c;\n  undefined4 local_58;\n  int local_50;\n  undefined4 local_4c;\n  uint local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int *local_30;\n  int local_2c;\n  int local_28;\n  undefined4 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }\n  if (param_5 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(param_1,0,0,1,param_5);\n  if (local_74 == 0) goto LAB_00194a48;\n  iVar2 = SetImageStorageClass(local_74,1,param_5);\n  if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (param_4 != 0) {\n    uVar10 = param_4;\n  }\n  uVar3 = 1;\n  if (param_3 != 0) {\n    uVar3 = param_3;\n  }\n  iVar2 = GetMagickResourceLimit(7);\n  local_68 = (int *)AcquireQuantumMemory(iVar2,4);\n  if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,iVar2 * 4);\n  if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }\n  local_5c = 0;\n  local_58 = 0;\n  iVar2 = *(int *)(param_1 + 0x18);\n  iVar12 = *(int *)(param_1 + 0x298);\n  uVar5 = AcquireVirtualCacheView(param_1,param_5);\n  uVar6 = AcquireAuthenticCacheView(local_74,param_5);\n  iVar7 = GetImagePixelCacheType(param_1);\n  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = param_5;\n  local_44 = param_4;\n  local_48 = param_3;\n  local_4c = param_2;\n  local_50 = param_1;\n  local_24 = &local_5c;\n  local_3c = uVar5;\n  local_38 = uVar6;\n  local_34 = local_74;\n  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;\n  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);\n  iVar2 = local_28;\n  DestroyCacheView(uVar6);\n  DestroyCacheView(uVar5);\n  FUN_00190530();\n  if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return local_74;\n}\n\n" (function_definition "int StatisticImage(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  void *__s;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int iVar12;\n  int in_GS_OFFSET;\n  undefined8 uVar13;\n  int local_74;\n  int *local_68;\n  undefined4 local_5c;\n  undefined4 local_58;\n  int local_50;\n  undefined4 local_4c;\n  uint local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int *local_30;\n  int local_2c;\n  int local_28;\n  undefined4 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }\n  if (param_5 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(param_1,0,0,1,param_5);\n  if (local_74 == 0) goto LAB_00194a48;\n  iVar2 = SetImageStorageClass(local_74,1,param_5);\n  if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (param_4 != 0) {\n    uVar10 = param_4;\n  }\n  uVar3 = 1;\n  if (param_3 != 0) {\n    uVar3 = param_3;\n  }\n  iVar2 = GetMagickResourceLimit(7);\n  local_68 = (int *)AcquireQuantumMemory(iVar2,4);\n  if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,iVar2 * 4);\n  if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }\n  local_5c = 0;\n  local_58 = 0;\n  iVar2 = *(int *)(param_1 + 0x18);\n  iVar12 = *(int *)(param_1 + 0x298);\n  uVar5 = AcquireVirtualCacheView(param_1,param_5);\n  uVar6 = AcquireAuthenticCacheView(local_74,param_5);\n  iVar7 = GetImagePixelCacheType(param_1);\n  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = param_5;\n  local_44 = param_4;\n  local_48 = param_3;\n  local_4c = param_2;\n  local_50 = param_1;\n  local_24 = &local_5c;\n  local_3c = uVar5;\n  local_38 = uVar6;\n  local_34 = local_74;\n  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;\n  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);\n  iVar2 = local_28;\n  DestroyCacheView(uVar6);\n  DestroyCacheView(uVar5);\n  FUN_00190530();\n  if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return local_74;\n}" primitive_type (function_declarator "StatisticImage(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" identifier (parameter_list "(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  void *__s;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int iVar12;\n  int in_GS_OFFSET;\n  undefined8 uVar13;\n  int local_74;\n  int *local_68;\n  undefined4 local_5c;\n  undefined4 local_58;\n  int local_50;\n  undefined4 local_4c;\n  uint local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int *local_30;\n  int local_2c;\n  int local_28;\n  undefined4 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }\n  if (param_5 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(param_1,0,0,1,param_5);\n  if (local_74 == 0) goto LAB_00194a48;\n  iVar2 = SetImageStorageClass(local_74,1,param_5);\n  if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (param_4 != 0) {\n    uVar10 = param_4;\n  }\n  uVar3 = 1;\n  if (param_3 != 0) {\n    uVar3 = param_3;\n  }\n  iVar2 = GetMagickResourceLimit(7);\n  local_68 = (int *)AcquireQuantumMemory(iVar2,4);\n  if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,iVar2 * 4);\n  if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }\n  local_5c = 0;\n  local_58 = 0;\n  iVar2 = *(int *)(param_1 + 0x18);\n  iVar12 = *(int *)(param_1 + 0x298);\n  uVar5 = AcquireVirtualCacheView(param_1,param_5);\n  uVar6 = AcquireAuthenticCacheView(local_74,param_5);\n  iVar7 = GetImagePixelCacheType(param_1);\n  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = param_5;\n  local_44 = param_4;\n  local_48 = param_3;\n  local_4c = param_2;\n  local_50 = param_1;\n  local_24 = &local_5c;\n  local_3c = uVar5;\n  local_38 = uVar6;\n  local_34 = local_74;\n  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;\n  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);\n  iVar2 = local_28;\n  DestroyCacheView(uVar6);\n  DestroyCacheView(uVar5);\n  FUN_00190530();\n  if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return local_74;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "void *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "undefined4 local_58;" type_identifier identifier ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int *local_30;" primitive_type (pointer_declarator "*local_30" * identifier) ;) (declaration "int local_2c;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "undefined4 *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 = 0x194699;" (assignment_expression "uStack_14 = 0x194699" 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 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }" { (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage")" identifier (argument_list "("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage")" ( (string_literal ""image != (Image *) NULL"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3344) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x3344) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x3344)" * (cast_expression "(int *)(param_1 + 0x3344)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3344)" ( (binary_expression "param_1 + 0x3344" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }" { (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x3328) != 0)" ( (binary_expression "*(int *)(param_1 + 0x3328) != 0" (pointer_expression "*(int *)(param_1 + 0x3328)" * (cast_expression "(int *)(param_1 + 0x3328)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3328)" ( (binary_expression "param_1 + 0x3328" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);" (call_expression "LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318)" identifier (argument_list "(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318)" ( number_literal , (string_literal ""MagickCore/statistic.c"" " string_content ") , (string_literal ""StatisticImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , (binary_expression "param_1 + 0x318" identifier + number_literal) ))) ;) })) (if_statement "if (param_5 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }" { (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }" if (parenthesized_expression "(*(int *)(param_5 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_5 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_5 + 0x1c)" * (cast_expression "(int *)(param_5 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x1c)" ( (binary_expression "param_5 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }" { (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/statistic.c"" " string_content ") , number_literal , (string_literal ""StatisticImage"" " string_content ") ))) ;) })) (expression_statement "local_74 = CloneImage(param_1,0,0,1,param_5);" (assignment_expression "local_74 = CloneImage(param_1,0,0,1,param_5)" identifier = (call_expression "CloneImage(param_1,0,0,1,param_5)" identifier (argument_list "(param_1,0,0,1,param_5)" ( identifier , number_literal , number_literal , number_literal , identifier )))) ;) (if_statement "if (local_74 == 0) goto LAB_00194a48;" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00194a48;" goto statement_identifier ;)) (expression_statement "iVar2 = SetImageStorageClass(local_74,1,param_5);" (assignment_expression "iVar2 = SetImageStorageClass(local_74,1,param_5)" identifier = (call_expression "SetImageStorageClass(local_74,1,param_5)" identifier (argument_list "(local_74,1,param_5)" ( identifier , number_literal , identifier )))) ;) (if_statement "if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" { (expression_statement "DestroyImage(local_74);" (call_expression "DestroyImage(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00194a48;" goto statement_identifier ;) })) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" identifier = number_literal) ;) (if_statement "if (param_4 != 0) {\n    uVar10 = param_4;\n  }" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar10 = param_4;\n  }" { (expression_statement "uVar10 = param_4;" (assignment_expression "uVar10 = param_4" identifier = identifier) ;) })) (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" identifier = number_literal) ;) (if_statement "if (param_3 != 0) {\n    uVar3 = param_3;\n  }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar3 = param_3;\n  }" { (expression_statement "uVar3 = param_3;" (assignment_expression "uVar3 = param_3" identifier = identifier) ;) })) (expression_statement "iVar2 = GetMagickResourceLimit(7);" (assignment_expression "iVar2 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "local_68 = (int *)AcquireQuantumMemory(iVar2,4);" (assignment_expression "local_68 = (int *)AcquireQuantumMemory(iVar2,4)" identifier = (cast_expression "(int *)AcquireQuantumMemory(iVar2,4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(iVar2,4)" identifier (argument_list "(iVar2,4)" ( identifier , number_literal ))))) ;) (if_statement "if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" if (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" { (labeled_statement "LAB_00194b30:\n    DestroyImage(local_74);" statement_identifier : (expression_statement "DestroyImage(local_74);" (call_expression "DestroyImage(local_74)" identifier (argument_list "(local_74)" ( identifier ))) ;)) (expression_statement "ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);" (call_expression "ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318)" identifier (argument_list "(param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318)" ( identifier , (string_literal ""MagickCore/statistic.c"" " string_content ") , (string_literal ""StatisticImage"" " string_content ") , number_literal , number_literal , (string_literal ""MemoryAllocationFailed"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x318" identifier + number_literal) ))) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00194a48;" goto statement_identifier ;) })) (expression_statement "memset(local_68,0,iVar2 * 4);" (call_expression "memset(local_68,0,iVar2 * 4)" identifier (argument_list "(local_68,0,iVar2 * 4)" ( identifier , number_literal , (binary_expression "iVar2 * 4" identifier * number_literal) ))) ;) (if_statement "if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }" if (parenthesized_expression "(0 < iVar2)" ( (binary_expression "0 < iVar2" number_literal < identifier) )) (compound_statement "{\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "piVar11 = local_68;" (assignment_expression "piVar11 = local_68" identifier = identifier) ;) (do_statement "do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);" do (compound_statement "{\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    }" { (expression_statement "piVar4 = (int *)AcquireMagickMemory(0x14);" (assignment_expression "piVar4 = (int *)AcquireMagickMemory(0x14)" identifier = (cast_expression "(int *)AcquireMagickMemory(0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireMagickMemory(0x14)" identifier (argument_list "(0x14)" ( number_literal ))))) ;) (if_statement "if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }" { (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" * identifier) = number_literal) ;) (labeled_statement "LAB_00194859:\n        local_68 = (int *)FUN_00190530();" statement_identifier : (expression_statement "local_68 = (int *)FUN_00190530();" (assignment_expression "local_68 = (int *)FUN_00190530()" identifier = (cast_expression "(int *)FUN_00190530()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00190530()" identifier (argument_list "()" ( ))))) ;)) (if_statement "if (local_68 == (int *)0x0) goto LAB_00194b30;" if (parenthesized_expression "(local_68 == (int *)0x0)" ( (binary_expression "local_68 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00194b30;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[4] = 0;" (assignment_expression "piVar4[4] = 0" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = uVar10 * uVar3;" (assignment_expression "*piVar4 = uVar10 * uVar3" (pointer_expression "*piVar4" * identifier) = (binary_expression "uVar10 * uVar3" identifier * identifier)) ;) (expression_statement "__s = (void *)AcquireAlignedMemory(0x10001,0x2c);" (assignment_expression "__s = (void *)AcquireAlignedMemory(0x10001,0x2c)" identifier = (cast_expression "(void *)AcquireAlignedMemory(0x10001,0x2c)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireAlignedMemory(0x10001,0x2c)" identifier (argument_list "(0x10001,0x2c)" ( number_literal , number_literal ))))) ;) (expression_statement "piVar4[3] = (int)__s;" (assignment_expression "piVar4[3] = (int)__s" (subscript_expression "piVar4[3]" identifier [ number_literal ]) = (cast_expression "(int)__s" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }" if (parenthesized_expression "(__s == (void *)0x0)" ( (binary_expression "__s == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }" { (expression_statement "iVar7 = FUN_0018fda0();" (assignment_expression "iVar7 = FUN_0018fda0()" identifier = (call_expression "FUN_0018fda0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*piVar11 = iVar7;" (assignment_expression "*piVar11 = iVar7" (pointer_expression "*piVar11" * identifier) = identifier) ;) (if_statement "if (iVar7 == 0) goto LAB_00194859;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00194859;" goto statement_identifier ;)) }) (else_clause "else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }" else (compound_statement "{\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }" { (expression_statement "memset(__s,0,0x2c002c);" (call_expression "memset(__s,0,0x2c002c)" identifier (argument_list "(__s,0,0x2c002c)" ( identifier , number_literal , number_literal ))) ;) (expression_statement "piVar4[4] = -0x54535255;" (assignment_expression "piVar4[4] = -0x54535255" (subscript_expression "piVar4[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar11 = (int)piVar4;" (assignment_expression "*piVar11 = (int)piVar4" (pointer_expression "*piVar11" * identifier) = (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" identifier = (binary_expression "piVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 != iVar2)" ( (binary_expression "iVar12 != iVar2" identifier != identifier) )) ;) })) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x18)" identifier = (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(param_1 + 0x298);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x298)" identifier = (pointer_expression "*(int *)(param_1 + 0x298)" * (cast_expression "(int *)(param_1 + 0x298)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x298)" ( (binary_expression "param_1 + 0x298" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = AcquireVirtualCacheView(param_1,param_5);" (assignment_expression "uVar5 = AcquireVirtualCacheView(param_1,param_5)" identifier = (call_expression "AcquireVirtualCacheView(param_1,param_5)" identifier (argument_list "(param_1,param_5)" ( identifier , identifier )))) ;) (expression_statement "uVar6 = AcquireAuthenticCacheView(local_74,param_5);" (assignment_expression "uVar6 = AcquireAuthenticCacheView(local_74,param_5)" identifier = (call_expression "AcquireAuthenticCacheView(local_74,param_5)" identifier (argument_list "(local_74,param_5)" ( identifier , identifier )))) ;) (expression_statement "iVar7 = GetImagePixelCacheType(param_1);" (assignment_expression "iVar7 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" if (parenthesized_expression "(((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3))))" ( (binary_expression "((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))" (parenthesized_expression "((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3))" ( (binary_expression "(iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)" (parenthesized_expression "(iVar7 == 4)" ( (binary_expression "iVar7 == 4" identifier == number_literal) )) || (parenthesized_expression "(iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)" ( (comma_expression "iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3" (assignment_expression "iVar7 = GetImagePixelCacheType(param_1)" identifier = (call_expression "GetImagePixelCacheType(param_1)" identifier (argument_list "(param_1)" ( identifier )))) , (binary_expression "iVar7 == 3" identifier == number_literal)) ))) )) && (parenthesized_expression "((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))" ( (parenthesized_expression "(iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3))" ( (comma_expression "iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)" (assignment_expression "iVar7 = GetImagePixelCacheType(local_74)" identifier = (call_expression "GetImagePixelCacheType(local_74)" identifier (argument_list "(local_74)" ( identifier )))) , (binary_expression "iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)" (binary_expression "iVar7 == 4" identifier == number_literal) || (parenthesized_expression "(iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)" ( (comma_expression "iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3" (assignment_expression "iVar7 = GetImagePixelCacheType(local_74)" identifier = (call_expression "GetImagePixelCacheType(local_74)" identifier (argument_list "(local_74)" ( identifier )))) , (binary_expression "iVar7 == 3" identifier == number_literal)) )))) )) ))) )) (compound_statement "{\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }" { (expression_statement "iVar9 = GetMagickResourceLimit(7);" (assignment_expression "iVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "iVar7 = *(int *)(local_74 + 0x1c);" (assignment_expression "iVar7 = *(int *)(local_74 + 0x1c)" identifier = (pointer_expression "*(int *)(local_74 + 0x1c)" * (cast_expression "(int *)(local_74 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_74 + 0x1c)" ( (binary_expression "local_74 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar7 + 0x3f;" (assignment_expression "iVar8 = iVar7 + 0x3f" identifier = (binary_expression "iVar7 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n      iVar8 = iVar7;\n    }" { (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" identifier = identifier) ;) })) (expression_statement "bVar1 = 0x7f < iVar7;" (assignment_expression "bVar1 = 0x7f < iVar7" identifier = (binary_expression "0x7f < iVar7" number_literal < identifier)) ;) (if_statement "if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }" if (parenthesized_expression "(iVar9 < iVar8 >> 6)" ( (binary_expression "iVar9 < iVar8 >> 6" identifier < (binary_expression "iVar8 >> 6" identifier >> number_literal)) )) (compound_statement "{\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }" { (expression_statement "iVar7 = GetMagickResourceLimit(7);" (assignment_expression "iVar7 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "bVar1 = 1 < iVar7;" (assignment_expression "bVar1 = 1 < iVar7" identifier = (binary_expression "1 < iVar7" number_literal < identifier)) ;) })) (if_statement "if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }" { (expression_statement "iVar9 = GetMagickResourceLimit(7);" (assignment_expression "iVar9 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (expression_statement "iVar7 = *(int *)(local_74 + 0x1c);" (assignment_expression "iVar7 = *(int *)(local_74 + 0x1c)" identifier = (pointer_expression "*(int *)(local_74 + 0x1c)" * (cast_expression "(int *)(local_74 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_74 + 0x1c)" ( (binary_expression "local_74 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = iVar7 + 0x3f;" (assignment_expression "iVar8 = iVar7 + 0x3f" identifier = (binary_expression "iVar7 + 0x3f" identifier + number_literal)) ;) (if_statement "if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (compound_statement "{\n        iVar8 = iVar7;\n      }" { (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" identifier = identifier) ;) })) (expression_statement "iVar8 = iVar8 >> 6;" (assignment_expression "iVar8 = iVar8 >> 6" identifier = (binary_expression "iVar8 >> 6" identifier >> number_literal)) ;) (if_statement "if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }" if (parenthesized_expression "(iVar9 < iVar8)" ( (binary_expression "iVar9 < iVar8" identifier < identifier) )) (compound_statement "{\n        iVar8 = GetMagickResourceLimit(7);\n      }" { (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) })) }) (else_clause "else {\nLAB_0019499c:\n      iVar8 = 1;\n    }" else (compound_statement "{\nLAB_0019499c:\n      iVar8 = 1;\n    }" { (labeled_statement "LAB_0019499c:\n      iVar8 = 1;" statement_identifier : (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;)) }))) }) (else_clause "else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" else (compound_statement "{\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" { (expression_statement "uVar13 = GetMagickResourceLimit(7);" (assignment_expression "uVar13 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2))" ( (binary_expression "((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)" (parenthesized_expression "((int)((ulonglong)uVar13 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar13 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar13 < 2)" ( (binary_expression "(uint)uVar13 < 2" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }" { (expression_statement "uVar13 = GetMagickResourceLimit(7);" (assignment_expression "uVar13 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;" if (parenthesized_expression "(((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2))" ( (binary_expression "((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)" (parenthesized_expression "((int)((ulonglong)uVar13 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar13 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar13 < 2)" ( (binary_expression "(uint)uVar13 < 2" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (goto_statement "goto LAB_0019499c;" goto statement_identifier ;)) })) (expression_statement "uVar13 = GetMagickResourceLimit(7);" (assignment_expression "uVar13 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) (if_statement "if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }" if (parenthesized_expression "(((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2))" ( (binary_expression "((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)" (parenthesized_expression "((int)((ulonglong)uVar13 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar13 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar13 < 2)" ( (binary_expression "(uint)uVar13 < 2" (cast_expression "(uint)uVar13" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) ))) )) (compound_statement "{\n      iVar8 = GetMagickResourceLimit(7);\n    }" { (expression_statement "iVar8 = GetMagickResourceLimit(7);" (assignment_expression "iVar8 = GetMagickResourceLimit(7)" identifier = (call_expression "GetMagickResourceLimit(7)" identifier (argument_list "(7)" ( number_literal )))) ;) }) (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_28 = 1;" (assignment_expression "local_28 = 1" identifier = number_literal) ;) (expression_statement "local_30 = local_68;" (assignment_expression "local_30 = local_68" identifier = identifier) ;) (expression_statement "local_40 = param_5;" (assignment_expression "local_40 = param_5" identifier = identifier) ;) (expression_statement "local_44 = param_4;" (assignment_expression "local_44 = param_4" identifier = identifier) ;) (expression_statement "local_48 = param_3;" (assignment_expression "local_48 = param_3" identifier = identifier) ;) (expression_statement "local_4c = param_2;" (assignment_expression "local_4c = param_2" identifier = identifier) ;) (expression_statement "local_50 = param_1;" (assignment_expression "local_50 = param_1" identifier = identifier) ;) (expression_statement "local_24 = &local_5c;" (assignment_expression "local_24 = &local_5c" identifier = (pointer_expression "&local_5c" & identifier)) ;) (expression_statement "local_3c = uVar5;" (assignment_expression "local_3c = uVar5" identifier = identifier) ;) (expression_statement "local_38 = uVar6;" (assignment_expression "local_38 = uVar6" identifier = identifier) ;) (expression_statement "local_34 = local_74;" (assignment_expression "local_34 = local_74" identifier = identifier) ;) (expression_statement "local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;" (assignment_expression "local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12" identifier = (binary_expression "((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12" (parenthesized_expression "((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1))" ( (binary_expression "(iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)" (binary_expression "(iVar2 + uVar3) * (uVar10 >> 1)" (parenthesized_expression "(iVar2 + uVar3)" ( (binary_expression "iVar2 + uVar3" identifier + identifier) )) * (parenthesized_expression "(uVar10 >> 1)" ( (binary_expression "uVar10 >> 1" identifier >> number_literal) ))) + (parenthesized_expression "(uVar3 >> 1)" ( (binary_expression "uVar3 >> 1" identifier >> number_literal) ))) )) * identifier)) ;) (expression_statement "GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);" (call_expression "GOMP_parallel(FUN_0018f510,&local_50,iVar8,0)" identifier (argument_list "(FUN_0018f510,&local_50,iVar8,0)" ( identifier , (pointer_expression "&local_50" & identifier) , identifier , number_literal ))) ;) (expression_statement "iVar2 = local_28;" (assignment_expression "iVar2 = local_28" identifier = identifier) ;) (expression_statement "DestroyCacheView(uVar6);" (call_expression "DestroyCacheView(uVar6)" identifier (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "DestroyCacheView(uVar5);" (call_expression "DestroyCacheView(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) (expression_statement "FUN_00190530();" (call_expression "FUN_00190530()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }" if (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) (compound_statement "{\n    local_74 = DestroyImage(local_74);\n  }" { (expression_statement "local_74 = DestroyImage(local_74);" (assignment_expression "local_74 = DestroyImage(local_74)" identifier = (call_expression "DestroyImage(local_74)" identifier (argument_list "(local_74)" ( identifier )))) ;) })) (labeled_statement "LAB_00194a48:\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 local_74;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (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 (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 == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression IDENT * LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT , LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT >> LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT < IDENT)) ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) })) }) (else_clause else (compound_statement { (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 = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) * (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) + (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) )) * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor 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 "int StatisticImage(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)\n\n{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  void *__s;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int iVar12;\n  int in_GS_OFFSET;\n  undefined8 uVar13;\n  int local_74;\n  int *local_68;\n  undefined4 local_5c;\n  undefined4 local_58;\n  int local_50;\n  undefined4 local_4c;\n  uint local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int *local_30;\n  int local_2c;\n  int local_28;\n  undefined4 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }\n  if (param_5 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(param_1,0,0,1,param_5);\n  if (local_74 == 0) goto LAB_00194a48;\n  iVar2 = SetImageStorageClass(local_74,1,param_5);\n  if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (param_4 != 0) {\n    uVar10 = param_4;\n  }\n  uVar3 = 1;\n  if (param_3 != 0) {\n    uVar3 = param_3;\n  }\n  iVar2 = GetMagickResourceLimit(7);\n  local_68 = (int *)AcquireQuantumMemory(iVar2,4);\n  if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,iVar2 * 4);\n  if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }\n  local_5c = 0;\n  local_58 = 0;\n  iVar2 = *(int *)(param_1 + 0x18);\n  iVar12 = *(int *)(param_1 + 0x298);\n  uVar5 = AcquireVirtualCacheView(param_1,param_5);\n  uVar6 = AcquireAuthenticCacheView(local_74,param_5);\n  iVar7 = GetImagePixelCacheType(param_1);\n  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = param_5;\n  local_44 = param_4;\n  local_48 = param_3;\n  local_4c = param_2;\n  local_50 = param_1;\n  local_24 = &local_5c;\n  local_3c = uVar5;\n  local_38 = uVar6;\n  local_34 = local_74;\n  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;\n  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);\n  iVar2 = local_28;\n  DestroyCacheView(uVar6);\n  DestroyCacheView(uVar5);\n  FUN_00190530();\n  if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return local_74;\n}" (primitive_type "int") (function_declarator "StatisticImage(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" (identifier "StatisticImage") (parameter_list "(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) () ")"))) (compound_statement "{\n  bool bVar1;\n  int iVar2;\n  uint uVar3;\n  void *__s;\n  int *piVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  int iVar7;\n  int iVar8;\n  int iVar9;\n  uint uVar10;\n  int *piVar11;\n  int iVar12;\n  int in_GS_OFFSET;\n  undefined8 uVar13;\n  int local_74;\n  int *local_68;\n  undefined4 local_5c;\n  undefined4 local_58;\n  int local_50;\n  undefined4 local_4c;\n  uint local_48;\n  uint local_44;\n  int local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  int local_34;\n  int *local_30;\n  int local_2c;\n  int local_28;\n  undefined4 *local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x194699;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }\n  if (param_5 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }\n  if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }\n  local_74 = CloneImage(param_1,0,0,1,param_5);\n  if (local_74 == 0) goto LAB_00194a48;\n  iVar2 = SetImageStorageClass(local_74,1,param_5);\n  if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  uVar10 = 1;\n  if (param_4 != 0) {\n    uVar10 = param_4;\n  }\n  uVar3 = 1;\n  if (param_3 != 0) {\n    uVar3 = param_3;\n  }\n  iVar2 = GetMagickResourceLimit(7);\n  local_68 = (int *)AcquireQuantumMemory(iVar2,4);\n  if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }\n  memset(local_68,0,iVar2 * 4);\n  if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }\n  local_5c = 0;\n  local_58 = 0;\n  iVar2 = *(int *)(param_1 + 0x18);\n  iVar12 = *(int *)(param_1 + 0x298);\n  uVar5 = AcquireVirtualCacheView(param_1,param_5);\n  uVar6 = AcquireAuthenticCacheView(local_74,param_5);\n  iVar7 = GetImagePixelCacheType(param_1);\n  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }\n  local_28 = 1;\n  local_30 = local_68;\n  local_40 = param_5;\n  local_44 = param_4;\n  local_48 = param_3;\n  local_4c = param_2;\n  local_50 = param_1;\n  local_24 = &local_5c;\n  local_3c = uVar5;\n  local_38 = uVar6;\n  local_34 = local_74;\n  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;\n  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);\n  iVar2 = local_28;\n  DestroyCacheView(uVar6);\n  DestroyCacheView(uVar5);\n  FUN_00190530();\n  if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }\nLAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return local_74;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "void *__s;" (primitive_type "void") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "undefined8 uVar13;" (type_identifier "undefined8") (identifier "uVar13") (; ";")) (declaration "int local_74;" (primitive_type "int") (identifier "local_74") (; ";")) (declaration "int *local_68;" (primitive_type "int") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "undefined4 local_58;" (type_identifier "undefined4") (identifier "local_58") (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (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") (identifier "local_34") (; ";")) (declaration "int *local_30;" (primitive_type "int") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "undefined4 *local_24;" (type_identifier "undefined4") (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 = 0x194699;" (assignment_expression "uStack_14 = 0x194699" (identifier "uStack_14") (= "=") (number_literal "0x194699")) (; ";")) (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 == 0) {\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");\n  }" ({ "{") (expression_statement "__assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");" (call_expression "__assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage")" (identifier "__assert_fail") (argument_list "("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage")" (( "(") (string_literal ""image != (Image *) NULL"" (" """) (string_content "image != (Image *) NULL") (" """)) (, ",") (string_literal ""MagickCore/statistic.c"" (" """) (string_content "MagickCore/statistic.c") (" """)) (, ",") (number_literal "0xb64") (, ",") (string_literal ""StatisticImage"" (" """) (string_content "StatisticImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3344) != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3344) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x3344) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x3344)" (* "*") (cast_expression "(int *)(param_1 + 0x3344)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3344)" (( "(") (binary_expression "param_1 + 0x3344" (identifier "param_1") (+ "+") (number_literal "0x3344")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");\n  }" ({ "{") (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage")" (identifier "__assert_fail") (argument_list "("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,\n                  "StatisticImage")" (( "(") (string_literal ""image->signature == MagickCoreSignature"" (" """) (string_content "image->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/statistic.c"" (" """) (string_content "MagickCore/statistic.c") (" """)) (, ",") (number_literal "0xb65") (, ",") (string_literal ""StatisticImage"" (" """) (string_content "StatisticImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x3328) != 0) {\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x3328) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x3328) != 0" (pointer_expression "*(int *)(param_1 + 0x3328)" (* "*") (cast_expression "(int *)(param_1 + 0x3328)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3328)" (( "(") (binary_expression "param_1 + 0x3328" (identifier "param_1") (+ "+") (number_literal "0x3328")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318);" (call_expression "LogMagickEvent(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318)" (identifier "LogMagickEvent") (argument_list "(0x8000,"MagickCore/statistic.c","StatisticImage",0xb67,&DAT_002b6e4e,\n                   param_1 + 0x318)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""MagickCore/statistic.c"" (" """) (string_content "MagickCore/statistic.c") (" """)) (, ",") (string_literal ""StatisticImage"" (" """) (string_content "StatisticImage") (" """)) (, ",") (number_literal "0xb67") (, ",") (pointer_expression "&DAT_002b6e4e" (& "&") (identifier "DAT_002b6e4e")) (, ",") (binary_expression "param_1 + 0x318" (identifier "param_1") (+ "+") (number_literal "0x318")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_5 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage")" (identifier "__assert_fail") (argument_list "("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,\n                  "StatisticImage")" (( "(") (string_literal ""exception != (ExceptionInfo *) NULL"" (" """) (string_content "exception != (ExceptionInfo *) NULL") (" """)) (, ",") (string_literal ""MagickCore/statistic.c"" (" """) (string_content "MagickCore/statistic.c") (" """)) (, ",") (number_literal "0xb68") (, ",") (string_literal ""StatisticImage"" (" """) (string_content "StatisticImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_5 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }" (if "if") (parenthesized_expression "(*(int *)(param_5 + 0x1c) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_5 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_5 + 0x1c)" (* "*") (cast_expression "(int *)(param_5 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x1c)" (( "(") (binary_expression "param_5 + 0x1c" (identifier "param_5") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage")" (identifier "__assert_fail") (argument_list "("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,\n                  "StatisticImage")" (( "(") (string_literal ""exception->signature == MagickCoreSignature"" (" """) (string_content "exception->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/statistic.c"" (" """) (string_content "MagickCore/statistic.c") (" """)) (, ",") (number_literal "0xb69") (, ",") (string_literal ""StatisticImage"" (" """) (string_content "StatisticImage") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_74 = CloneImage(param_1,0,0,1,param_5);" (assignment_expression "local_74 = CloneImage(param_1,0,0,1,param_5)" (identifier "local_74") (= "=") (call_expression "CloneImage(param_1,0,0,1,param_5)" (identifier "CloneImage") (argument_list "(param_1,0,0,1,param_5)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (identifier "param_5") () ")")))) (; ";")) (if_statement "if (local_74 == 0) goto LAB_00194a48;" (if "if") (parenthesized_expression "(local_74 == 0)" (( "(") (binary_expression "local_74 == 0" (identifier "local_74") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00194a48;" (goto "goto") (statement_identifier "LAB_00194a48") (; ";"))) (expression_statement "iVar2 = SetImageStorageClass(local_74,1,param_5);" (assignment_expression "iVar2 = SetImageStorageClass(local_74,1,param_5)" (identifier "iVar2") (= "=") (call_expression "SetImageStorageClass(local_74,1,param_5)" (identifier "SetImageStorageClass") (argument_list "(local_74,1,param_5)" (( "(") (identifier "local_74") (, ",") (number_literal "1") (, ",") (identifier "param_5") () ")")))) (; ";")) (if_statement "if (iVar2 == 0) {\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    DestroyImage(local_74);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" ({ "{") (expression_statement "DestroyImage(local_74);" (call_expression "DestroyImage(local_74)" (identifier "DestroyImage") (argument_list "(local_74)" (( "(") (identifier "local_74") () ")"))) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00194a48;" (goto "goto") (statement_identifier "LAB_00194a48") (; ";")) (} "}"))) (expression_statement "uVar10 = 1;" (assignment_expression "uVar10 = 1" (identifier "uVar10") (= "=") (number_literal "1")) (; ";")) (if_statement "if (param_4 != 0) {\n    uVar10 = param_4;\n  }" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar10 = param_4;\n  }" ({ "{") (expression_statement "uVar10 = param_4;" (assignment_expression "uVar10 = param_4" (identifier "uVar10") (= "=") (identifier "param_4")) (; ";")) (} "}"))) (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" (identifier "uVar3") (= "=") (number_literal "1")) (; ";")) (if_statement "if (param_3 != 0) {\n    uVar3 = param_3;\n  }" (if "if") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar3 = param_3;\n  }" ({ "{") (expression_statement "uVar3 = param_3;" (assignment_expression "uVar3 = param_3" (identifier "uVar3") (= "=") (identifier "param_3")) (; ";")) (} "}"))) (expression_statement "iVar2 = GetMagickResourceLimit(7);" (assignment_expression "iVar2 = GetMagickResourceLimit(7)" (identifier "iVar2") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "local_68 = (int *)AcquireQuantumMemory(iVar2,4);" (assignment_expression "local_68 = (int *)AcquireQuantumMemory(iVar2,4)" (identifier "local_68") (= "=") (cast_expression "(int *)AcquireQuantumMemory(iVar2,4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(iVar2,4)" (identifier "AcquireQuantumMemory") (argument_list "(iVar2,4)" (( "(") (identifier "iVar2") (, ",") (number_literal "4") () ")"))))) (; ";")) (if_statement "if (local_68 == (int *)0x0) {\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" (if "if") (parenthesized_expression "(local_68 == (int *)0x0)" (( "(") (binary_expression "local_68 == (int *)0x0" (identifier "local_68") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00194b30:\n    DestroyImage(local_74);\n    ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);\n    local_74 = 0;\n    goto LAB_00194a48;\n  }" ({ "{") (labeled_statement "LAB_00194b30:\n    DestroyImage(local_74);" (statement_identifier "LAB_00194b30") (: ":") (expression_statement "DestroyImage(local_74);" (call_expression "DestroyImage(local_74)" (identifier "DestroyImage") (argument_list "(local_74)" (( "(") (identifier "local_74") () ")"))) (; ";"))) (expression_statement "ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318);" (call_expression "ThrowMagickException\n              (param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318)" (identifier "ThrowMagickException") (argument_list "(param_5,"MagickCore/statistic.c","StatisticImage",0xb78,400,"MemoryAllocationFailed",\n               "`%s\'",param_1 + 0x318)" (( "(") (identifier "param_5") (, ",") (string_literal ""MagickCore/statistic.c"" (" """) (string_content "MagickCore/statistic.c") (" """)) (, ",") (string_literal ""StatisticImage"" (" """) (string_content "StatisticImage") (" """)) (, ",") (number_literal "0xb78") (, ",") (number_literal "400") (, ",") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0x318" (identifier "param_1") (+ "+") (number_literal "0x318")) () ")"))) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00194a48;" (goto "goto") (statement_identifier "LAB_00194a48") (; ";")) (} "}"))) (expression_statement "memset(local_68,0,iVar2 * 4);" (call_expression "memset(local_68,0,iVar2 * 4)" (identifier "memset") (argument_list "(local_68,0,iVar2 * 4)" (( "(") (identifier "local_68") (, ",") (number_literal "0") (, ",") (binary_expression "iVar2 * 4" (identifier "iVar2") (* "*") (number_literal "4")) () ")"))) (; ";")) (if_statement "if (0 < iVar2) {\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }" (if "if") (parenthesized_expression "(0 < iVar2)" (( "(") (binary_expression "0 < iVar2" (number_literal "0") (< "<") (identifier "iVar2")) () ")")) (compound_statement "{\n    iVar12 = 0;\n    piVar11 = local_68;\n    do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);\n  }" ({ "{") (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" (identifier "iVar12") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar11 = local_68;" (assignment_expression "piVar11 = local_68" (identifier "piVar11") (= "=") (identifier "local_68")) (; ";")) (do_statement "do {\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    } while (iVar12 != iVar2);" (do "do") (compound_statement "{\n      piVar4 = (int *)AcquireMagickMemory(0x14);\n      if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }\n      piVar4[1] = 0;\n      piVar4[2] = 0;\n      piVar4[3] = 0;\n      piVar4[4] = 0;\n      *piVar4 = uVar10 * uVar3;\n      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);\n      piVar4[3] = (int)__s;\n      if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }\n      iVar12 = iVar12 + 1;\n      piVar11 = piVar11 + 1;\n    }" ({ "{") (expression_statement "piVar4 = (int *)AcquireMagickMemory(0x14);" (assignment_expression "piVar4 = (int *)AcquireMagickMemory(0x14)" (identifier "piVar4") (= "=") (cast_expression "(int *)AcquireMagickMemory(0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireMagickMemory(0x14)" (identifier "AcquireMagickMemory") (argument_list "(0x14)" (( "(") (number_literal "0x14") () ")"))))) (; ";")) (if_statement "if (piVar4 == (int *)0x0) {\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }" (if "if") (parenthesized_expression "(piVar4 == (int *)0x0)" (( "(") (binary_expression "piVar4 == (int *)0x0" (identifier "piVar4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *piVar11 = 0;\nLAB_00194859:\n        local_68 = (int *)FUN_00190530();\n        if (local_68 == (int *)0x0) goto LAB_00194b30;\n        break;\n      }" ({ "{") (expression_statement "*piVar11 = 0;" (assignment_expression "*piVar11 = 0" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00194859:\n        local_68 = (int *)FUN_00190530();" (statement_identifier "LAB_00194859") (: ":") (expression_statement "local_68 = (int *)FUN_00190530();" (assignment_expression "local_68 = (int *)FUN_00190530()" (identifier "local_68") (= "=") (cast_expression "(int *)FUN_00190530()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00190530()" (identifier "FUN_00190530") (argument_list "()" (( "(") () ")"))))) (; ";"))) (if_statement "if (local_68 == (int *)0x0) goto LAB_00194b30;" (if "if") (parenthesized_expression "(local_68 == (int *)0x0)" (( "(") (binary_expression "local_68 == (int *)0x0" (identifier "local_68") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00194b30;" (goto "goto") (statement_identifier "LAB_00194b30") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[2] = 0;" (assignment_expression "piVar4[2] = 0" (subscript_expression "piVar4[2]" (identifier "piVar4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[3] = 0;" (assignment_expression "piVar4[3] = 0" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[4] = 0;" (assignment_expression "piVar4[4] = 0" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar4 = uVar10 * uVar3;" (assignment_expression "*piVar4 = uVar10 * uVar3" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "uVar10 * uVar3" (identifier "uVar10") (* "*") (identifier "uVar3"))) (; ";")) (expression_statement "__s = (void *)AcquireAlignedMemory(0x10001,0x2c);" (assignment_expression "__s = (void *)AcquireAlignedMemory(0x10001,0x2c)" (identifier "__s") (= "=") (cast_expression "(void *)AcquireAlignedMemory(0x10001,0x2c)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireAlignedMemory(0x10001,0x2c)" (identifier "AcquireAlignedMemory") (argument_list "(0x10001,0x2c)" (( "(") (number_literal "0x10001") (, ",") (number_literal "0x2c") () ")"))))) (; ";")) (expression_statement "piVar4[3] = (int)__s;" (assignment_expression "piVar4[3] = (int)__s" (subscript_expression "piVar4[3]" (identifier "piVar4") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(int)__s" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__s"))) (; ";")) (if_statement "if (__s == (void *)0x0) {\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }\n      else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }" (if "if") (parenthesized_expression "(__s == (void *)0x0)" (( "(") (binary_expression "__s == (void *)0x0" (identifier "__s") (== "==") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar7 = FUN_0018fda0();\n        *piVar11 = iVar7;\n        if (iVar7 == 0) goto LAB_00194859;\n      }" ({ "{") (expression_statement "iVar7 = FUN_0018fda0();" (assignment_expression "iVar7 = FUN_0018fda0()" (identifier "iVar7") (= "=") (call_expression "FUN_0018fda0()" (identifier "FUN_0018fda0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar11 = iVar7;" (assignment_expression "*piVar11 = iVar7" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (identifier "iVar7")) (; ";")) (if_statement "if (iVar7 == 0) goto LAB_00194859;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00194859;" (goto "goto") (statement_identifier "LAB_00194859") (; ";"))) (} "}")) (else_clause "else {\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }" (else "else") (compound_statement "{\n        memset(__s,0,0x2c002c);\n        piVar4[4] = -0x54535255;\n        *piVar11 = (int)piVar4;\n      }" ({ "{") (expression_statement "memset(__s,0,0x2c002c);" (call_expression "memset(__s,0,0x2c002c)" (identifier "memset") (argument_list "(__s,0,0x2c002c)" (( "(") (identifier "__s") (, ",") (number_literal "0") (, ",") (number_literal "0x2c002c") () ")"))) (; ";")) (expression_statement "piVar4[4] = -0x54535255;" (assignment_expression "piVar4[4] = -0x54535255" (subscript_expression "piVar4[4]" (identifier "piVar4") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "-0x54535255")) (; ";")) (expression_statement "*piVar11 = (int)piVar4;" (assignment_expression "*piVar11 = (int)piVar4" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4"))) (; ";")) (} "}")))) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" (identifier "iVar12") (= "=") (binary_expression "iVar12 + 1" (identifier "iVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar11 = piVar11 + 1;" (assignment_expression "piVar11 = piVar11 + 1" (identifier "piVar11") (= "=") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar12 != iVar2)" (( "(") (binary_expression "iVar12 != iVar2" (identifier "iVar12") (!= "!=") (identifier "iVar2")) () ")")) (; ";")) (} "}"))) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = 0;" (assignment_expression "local_58 = 0" (identifier "local_58") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar2 = *(int *)(param_1 + 0x18);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x18)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar12 = *(int *)(param_1 + 0x298);" (assignment_expression "iVar12 = *(int *)(param_1 + 0x298)" (identifier "iVar12") (= "=") (pointer_expression "*(int *)(param_1 + 0x298)" (* "*") (cast_expression "(int *)(param_1 + 0x298)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x298)" (( "(") (binary_expression "param_1 + 0x298" (identifier "param_1") (+ "+") (number_literal "0x298")) () ")"))))) (; ";")) (expression_statement "uVar5 = AcquireVirtualCacheView(param_1,param_5);" (assignment_expression "uVar5 = AcquireVirtualCacheView(param_1,param_5)" (identifier "uVar5") (= "=") (call_expression "AcquireVirtualCacheView(param_1,param_5)" (identifier "AcquireVirtualCacheView") (argument_list "(param_1,param_5)" (( "(") (identifier "param_1") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "uVar6 = AcquireAuthenticCacheView(local_74,param_5);" (assignment_expression "uVar6 = AcquireAuthenticCacheView(local_74,param_5)" (identifier "uVar6") (= "=") (call_expression "AcquireAuthenticCacheView(local_74,param_5)" (identifier "AcquireAuthenticCacheView") (argument_list "(local_74,param_5)" (( "(") (identifier "local_74") (, ",") (identifier "param_5") () ")")))) (; ";")) (expression_statement "iVar7 = GetImagePixelCacheType(param_1);" (assignment_expression "iVar7 = GetImagePixelCacheType(param_1)" (identifier "iVar7") (= "=") (call_expression "GetImagePixelCacheType(param_1)" (identifier "GetImagePixelCacheType") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }\n  else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" (if "if") (parenthesized_expression "(((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3))))" (( "(") (binary_expression "((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&\n     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))" (parenthesized_expression "((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3))" (( "(") (binary_expression "(iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)" (parenthesized_expression "(iVar7 == 4)" (( "(") (binary_expression "iVar7 == 4" (identifier "iVar7") (== "==") (number_literal "4")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)" (( "(") (comma_expression "iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3" (assignment_expression "iVar7 = GetImagePixelCacheType(param_1)" (identifier "iVar7") (= "=") (call_expression "GetImagePixelCacheType(param_1)" (identifier "GetImagePixelCacheType") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (, ",") (binary_expression "iVar7 == 3" (identifier "iVar7") (== "==") (number_literal "3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))" (( "(") (parenthesized_expression "(iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3))" (( "(") (comma_expression "iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)" (assignment_expression "iVar7 = GetImagePixelCacheType(local_74)" (identifier "iVar7") (= "=") (call_expression "GetImagePixelCacheType(local_74)" (identifier "GetImagePixelCacheType") (argument_list "(local_74)" (( "(") (identifier "local_74") () ")")))) (, ",") (binary_expression "iVar7 == 4 ||\n      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)" (binary_expression "iVar7 == 4" (identifier "iVar7") (== "==") (number_literal "4")) (|| "||") (parenthesized_expression "(iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)" (( "(") (comma_expression "iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3" (assignment_expression "iVar7 = GetImagePixelCacheType(local_74)" (identifier "iVar7") (= "=") (call_expression "GetImagePixelCacheType(local_74)" (identifier "GetImagePixelCacheType") (argument_list "(local_74)" (( "(") (identifier "local_74") () ")")))) (, ",") (binary_expression "iVar7 == 3" (identifier "iVar7") (== "==") (number_literal "3"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    iVar9 = GetMagickResourceLimit(7);\n    iVar7 = *(int *)(local_74 + 0x1c);\n    iVar8 = iVar7 + 0x3f;\n    if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }\n    bVar1 = 0x7f < iVar7;\n    if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }\n    if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }\n  }" ({ "{") (expression_statement "iVar9 = GetMagickResourceLimit(7);" (assignment_expression "iVar9 = GetMagickResourceLimit(7)" (identifier "iVar9") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "iVar7 = *(int *)(local_74 + 0x1c);" (assignment_expression "iVar7 = *(int *)(local_74 + 0x1c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(local_74 + 0x1c)" (* "*") (cast_expression "(int *)(local_74 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_74 + 0x1c)" (( "(") (binary_expression "local_74 + 0x1c" (identifier "local_74") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar8 = iVar7 + 0x3f;" (assignment_expression "iVar8 = iVar7 + 0x3f" (identifier "iVar8") (= "=") (binary_expression "iVar7 + 0x3f" (identifier "iVar7") (+ "+") (number_literal "0x3f"))) (; ";")) (if_statement "if (-1 < iVar7) {\n      iVar8 = iVar7;\n    }" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n      iVar8 = iVar7;\n    }" ({ "{") (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" (identifier "iVar8") (= "=") (identifier "iVar7")) (; ";")) (} "}"))) (expression_statement "bVar1 = 0x7f < iVar7;" (assignment_expression "bVar1 = 0x7f < iVar7" (identifier "bVar1") (= "=") (binary_expression "0x7f < iVar7" (number_literal "0x7f") (< "<") (identifier "iVar7"))) (; ";")) (if_statement "if (iVar9 < iVar8 >> 6) {\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\n    }" (if "if") (parenthesized_expression "(iVar9 < iVar8 >> 6)" (( "(") (binary_expression "iVar9 < iVar8 >> 6" (identifier "iVar9") (< "<") (binary_expression "iVar8 >> 6" (identifier "iVar8") (>> ">>") (number_literal "6"))) () ")")) (compound_statement "{\n      iVar7 = GetMagickResourceLimit(7);\n      bVar1 = 1 < iVar7;\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") () ")")))) (; ";")) (expression_statement "bVar1 = 1 < iVar7;" (assignment_expression "bVar1 = 1 < iVar7" (identifier "bVar1") (= "=") (binary_expression "1 < iVar7" (number_literal "1") (< "<") (identifier "iVar7"))) (; ";")) (} "}"))) (if_statement "if (bVar1) {\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }\n    else {\nLAB_0019499c:\n      iVar8 = 1;\n    }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n      iVar9 = GetMagickResourceLimit(7);\n      iVar7 = *(int *)(local_74 + 0x1c);\n      iVar8 = iVar7 + 0x3f;\n      if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }\n      iVar8 = iVar8 >> 6;\n      if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }\n    }" ({ "{") (expression_statement "iVar9 = GetMagickResourceLimit(7);" (assignment_expression "iVar9 = GetMagickResourceLimit(7)" (identifier "iVar9") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (expression_statement "iVar7 = *(int *)(local_74 + 0x1c);" (assignment_expression "iVar7 = *(int *)(local_74 + 0x1c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(local_74 + 0x1c)" (* "*") (cast_expression "(int *)(local_74 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_74 + 0x1c)" (( "(") (binary_expression "local_74 + 0x1c" (identifier "local_74") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar8 = iVar7 + 0x3f;" (assignment_expression "iVar8 = iVar7 + 0x3f" (identifier "iVar8") (= "=") (binary_expression "iVar7 + 0x3f" (identifier "iVar7") (+ "+") (number_literal "0x3f"))) (; ";")) (if_statement "if (-1 < iVar7) {\n        iVar8 = iVar7;\n      }" (if "if") (parenthesized_expression "(-1 < iVar7)" (( "(") (binary_expression "-1 < iVar7" (number_literal "-1") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n        iVar8 = iVar7;\n      }" ({ "{") (expression_statement "iVar8 = iVar7;" (assignment_expression "iVar8 = iVar7" (identifier "iVar8") (= "=") (identifier "iVar7")) (; ";")) (} "}"))) (expression_statement "iVar8 = iVar8 >> 6;" (assignment_expression "iVar8 = iVar8 >> 6" (identifier "iVar8") (= "=") (binary_expression "iVar8 >> 6" (identifier "iVar8") (>> ">>") (number_literal "6"))) (; ";")) (if_statement "if (iVar9 < iVar8) {\n        iVar8 = GetMagickResourceLimit(7);\n      }" (if "if") (parenthesized_expression "(iVar9 < iVar8)" (( "(") (binary_expression "iVar9 < iVar8" (identifier "iVar9") (< "<") (identifier "iVar8")) () ")")) (compound_statement "{\n        iVar8 = GetMagickResourceLimit(7);\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") () ")")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0019499c:\n      iVar8 = 1;\n    }" (else "else") (compound_statement "{\nLAB_0019499c:\n      iVar8 = 1;\n    }" ({ "{") (labeled_statement "LAB_0019499c:\n      iVar8 = 1;" (statement_identifier "LAB_0019499c") (: ":") (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" (else "else") (compound_statement "{\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }\n    uVar13 = GetMagickResourceLimit(7);\n    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }\n  }" ({ "{") (expression_statement "uVar13 = GetMagickResourceLimit(7);" (assignment_expression "uVar13 = GetMagickResourceLimit(7)" (identifier "uVar13") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)" (parenthesized_expression "((int)((ulonglong)uVar13 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar13 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar13 < 2)" (( "(") (binary_expression "(uint)uVar13 < 2" (cast_expression "(uint)uVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar13")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      uVar13 = GetMagickResourceLimit(7);\n      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;\n    }" ({ "{") (expression_statement "uVar13 = GetMagickResourceLimit(7);" (assignment_expression "uVar13 = GetMagickResourceLimit(7)" (identifier "uVar13") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)" (parenthesized_expression "((int)((ulonglong)uVar13 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar13 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar13 < 2)" (( "(") (binary_expression "(uint)uVar13 < 2" (cast_expression "(uint)uVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar13")) (< "<") (number_literal "2")) () ")"))) () ")")) (goto_statement "goto LAB_0019499c;" (goto "goto") (statement_identifier "LAB_0019499c") (; ";"))) (} "}"))) (expression_statement "uVar13 = GetMagickResourceLimit(7);" (assignment_expression "uVar13 = GetMagickResourceLimit(7)" (identifier "uVar13") (= "=") (call_expression "GetMagickResourceLimit(7)" (identifier "GetMagickResourceLimit") (argument_list "(7)" (( "(") (number_literal "7") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {\n      iVar8 = GetMagickResourceLimit(7);\n    }\n    else {\n      iVar8 = 2;\n    }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2))" (( "(") (binary_expression "((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)" (parenthesized_expression "((int)((ulonglong)uVar13 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar13 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar13 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar13 < 2)" (( "(") (binary_expression "(uint)uVar13 < 2" (cast_expression "(uint)uVar13" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar13")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n      iVar8 = GetMagickResourceLimit(7);\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") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      iVar8 = 2;\n    }" (else "else") (compound_statement "{\n      iVar8 = 2;\n    }" ({ "{") (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" (identifier "iVar8") (= "=") (number_literal "2")) (; ";")) (} "}")))) (} "}")))) (expression_statement "local_28 = 1;" (assignment_expression "local_28 = 1" (identifier "local_28") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_30 = local_68;" (assignment_expression "local_30 = local_68" (identifier "local_30") (= "=") (identifier "local_68")) (; ";")) (expression_statement "local_40 = param_5;" (assignment_expression "local_40 = param_5" (identifier "local_40") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_44 = param_4;" (assignment_expression "local_44 = param_4" (identifier "local_44") (= "=") (identifier "param_4")) (; ";")) (expression_statement "local_48 = param_3;" (assignment_expression "local_48 = param_3" (identifier "local_48") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_4c = param_2;" (assignment_expression "local_4c = param_2" (identifier "local_4c") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_50 = param_1;" (assignment_expression "local_50 = param_1" (identifier "local_50") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_24 = &local_5c;" (assignment_expression "local_24 = &local_5c" (identifier "local_24") (= "=") (pointer_expression "&local_5c" (& "&") (identifier "local_5c"))) (; ";")) (expression_statement "local_3c = uVar5;" (assignment_expression "local_3c = uVar5" (identifier "local_3c") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "local_38 = uVar6;" (assignment_expression "local_38 = uVar6" (identifier "local_38") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "local_34 = local_74;" (assignment_expression "local_34 = local_74" (identifier "local_34") (= "=") (identifier "local_74")) (; ";")) (expression_statement "local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;" (assignment_expression "local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12" (identifier "local_2c") (= "=") (binary_expression "((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12" (parenthesized_expression "((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1))" (( "(") (binary_expression "(iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)" (binary_expression "(iVar2 + uVar3) * (uVar10 >> 1)" (parenthesized_expression "(iVar2 + uVar3)" (( "(") (binary_expression "iVar2 + uVar3" (identifier "iVar2") (+ "+") (identifier "uVar3")) () ")")) (* "*") (parenthesized_expression "(uVar10 >> 1)" (( "(") (binary_expression "uVar10 >> 1" (identifier "uVar10") (>> ">>") (number_literal "1")) () ")"))) (+ "+") (parenthesized_expression "(uVar3 >> 1)" (( "(") (binary_expression "uVar3 >> 1" (identifier "uVar3") (>> ">>") (number_literal "1")) () ")"))) () ")")) (* "*") (identifier "iVar12"))) (; ";")) (expression_statement "GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);" (call_expression "GOMP_parallel(FUN_0018f510,&local_50,iVar8,0)" (identifier "GOMP_parallel") (argument_list "(FUN_0018f510,&local_50,iVar8,0)" (( "(") (identifier "FUN_0018f510") (, ",") (pointer_expression "&local_50" (& "&") (identifier "local_50")) (, ",") (identifier "iVar8") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar2 = local_28;" (assignment_expression "iVar2 = local_28" (identifier "iVar2") (= "=") (identifier "local_28")) (; ";")) (expression_statement "DestroyCacheView(uVar6);" (call_expression "DestroyCacheView(uVar6)" (identifier "DestroyCacheView") (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "DestroyCacheView(uVar5);" (call_expression "DestroyCacheView(uVar5)" (identifier "DestroyCacheView") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (expression_statement "FUN_00190530();" (call_expression "FUN_00190530()" (identifier "FUN_00190530") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar2 == 0) {\n    local_74 = DestroyImage(local_74);\n  }" (if "if") (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_74 = DestroyImage(local_74);\n  }" ({ "{") (expression_statement "local_74 = DestroyImage(local_74);" (assignment_expression "local_74 = DestroyImage(local_74)" (identifier "local_74") (= "=") (call_expression "DestroyImage(local_74)" (identifier "DestroyImage") (argument_list "(local_74)" (( "(") (identifier "local_74") () ")")))) (; ";")) (} "}"))) (labeled_statement "LAB_00194a48:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (statement_identifier "LAB_00194a48") (: ":") (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 local_74;" (return "return") (identifier "local_74") (; ";")) (} "}")))

/* 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_1 *var_2,type_2 type,size_t var_13,size_t var_12,
                      type_3 *var_6)

{
  size_t var_36;
  bool bVar2;
  type_4 var_10;
  type_5 var_24;
  size_t var_19;
  type_6 *var_26;
  type_7 *var_21;
  type_8 *cache_view;
  type_8 *cache_view_00;
  type_9 var_33;
  int var_37;
  size_t sVar9;
  type_5 var_23;
  type_7 **var_29;
  size_t var_28;
  int var_1;
  type_10 var_38;
  type_1 *var_8;
  type_7 **var_16;
  type_11 progress;
  type_1 *local_50;
  type_2 local_4c;
  size_t local_48;
  size_t local_44;
  type_3 *local_40;
  type_8 *local_3c;
  type_8 *local_38;
  type_1 *local_34;
  type_7 **local_30;
  int local_2c;
  int local_28;
  type_11 *local_24;
  int var_41;
  type_12 uStack_14;
  
  uStack_14 = 0x194699;
  var_41 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_1 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"StatisticImage");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,
                  "StatisticImage");
  }
  if (var_2->debug != var_4) {
    var_5(TraceEvent,"MagickCore/statistic.c","StatisticImage",0xb67,"%s",var_2->filename);
  }
  if (var_6 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,
                  "StatisticImage");
  }
  if (var_6->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,
                  "StatisticImage");
  }
  var_8 = var_7(var_2,0,0,MagickTrue,var_6);
  if (var_8 == (type_1 *)0x0) goto LAB_00194a48;
  var_10 = var_9(var_8,DirectClass,var_6);
  if (var_10 == var_4) {
    var_11(var_8);
    var_8 = (type_1 *)0x0;
    goto LAB_00194a48;
  }
  var_23 = 1;
  if (var_12 != 0) {
    var_23 = var_12;
  }
  var_24 = 1;
  if (var_13 != 0) {
    var_24 = var_13;
  }
  var_38 = var_14(ThreadResource);
  var_19 = (size_t)var_38;
  var_16 = (type_7 **)var_15(var_19,4);
  if (var_16 == (type_7 **)0x0) {
LAB_00194b30:
    var_11(var_8);
    var_17
              (var_6,"MagickCore/statistic.c","StatisticImage",0xb78,ErrorException,
               "MemoryAllocationFailed","`%s\'",var_2->filename);
    var_8 = (type_1 *)0x0;
    goto LAB_00194a48;
  }
  var_18(var_16,0,var_19 * 4);
  if (0 < (int)var_19) {
    var_28 = 0;
    var_29 = var_16;
    do {
      var_21 = (type_7 *)var_20(0x14);
      if (var_21 == (type_7 *)0x0) {
        *var_29 = (type_7 *)0x0;
LAB_00194859:
        var_16 = var_22(var_16);
        if (var_16 == (type_7 **)0x0) goto LAB_00194b30;
        break;
      }
      var_21->seed = 0;
      (var_21->skip_list).level = 0;
      (var_21->skip_list).nodes = (type_6 *)0x0;
      var_21->signature = 0;
      var_21->length = var_23 * var_24;
      var_26 = (type_6 *)var_25(0x10001,0x2c);
      (var_21->skip_list).nodes = var_26;
      if (var_26 == (type_6 *)0x0) {
        var_21 = var_27(var_21);
        *var_29 = var_21;
        if (var_21 == (type_7 *)0x0) goto LAB_00194859;
      }
      else {
        var_18(var_26,0,0x2c002c);
        var_21->signature = 0xabacadab;
        *var_29 = var_21;
      }
      var_28 = var_28 + 1;
      var_29 = var_29 + 1;
    } while (var_28 != var_19);
  }
  progress._0_4_ = 0;
  progress._4_4_ = 0;
  var_19 = var_2->columns;
  var_28 = var_2->number_channels;
  cache_view = var_30(var_2,var_6);
  cache_view_00 = var_31(var_8,var_6);
  var_33 = var_32(var_2);
  if (((var_33 == var_34) || (var_33 = var_32(var_2), var_33 == var_35)) &&
     ((var_33 = var_32(var_8), var_33 == var_34 ||
      (var_33 = var_32(var_8), var_33 == var_35)))) {
    var_38 = var_14(ThreadResource);
    var_36 = var_8->rows;
    sVar9 = var_36 + 0x3f;
    if (-1 < (int)var_36) {
      sVar9 = var_36;
    }
    bVar2 = 0x7f < (int)var_36;
    if ((int)var_38 < (int)sVar9 >> 6) {
      var_38 = var_14(ThreadResource);
      bVar2 = 1 < (int)var_38;
    }
    if (bVar2) {
      var_38 = var_14(ThreadResource);
      var_36 = var_8->rows;
      sVar9 = var_36 + 0x3f;
      if (-1 < (int)var_36) {
        sVar9 = var_36;
      }
      var_37 = (int)sVar9 >> 6;
      if ((int)var_38 < var_37) {
        var_38 = var_14(ThreadResource);
        var_37 = (int)var_38;
      }
    }
    else {
LAB_0019499c:
      var_37 = 1;
    }
  }
  else {
    var_38 = var_14(ThreadResource);
    if (((int)(var_38 >> 0x20) == 0) && ((type_5)var_38 < 2)) {
      var_38 = var_14(ThreadResource);
      if (((int)(var_38 >> 0x20) == 0) && ((type_5)var_38 < 2)) goto LAB_0019499c;
    }
    var_38 = var_14(ThreadResource);
    if (((int)(var_38 >> 0x20) == 0) && ((type_5)var_38 < 2)) {
      var_38 = var_14(ThreadResource);
      var_37 = (int)var_38;
    }
    else {
      var_37 = 2;
    }
  }
  local_28 = 1;
  local_30 = var_16;
  local_40 = var_6;
  local_44 = var_12;
  local_48 = var_13;
  local_4c = type;
  local_50 = var_2;
  local_24 = &progress;
  local_3c = cache_view;
  local_38 = cache_view_00;
  local_34 = var_8;
  local_2c = ((var_19 + var_24) * (var_23 >> 1) + (var_24 >> 1)) * var_28;
  var_39(StatisticImage__omp_fn_6,&local_50,var_37,0);
  var_37 = local_28;
  var_40(cache_view_00);
  var_40(cache_view);
  var_22(var_16);
  if (var_37 == 0) {
    var_8 = var_11(var_8);
  }
LAB_00194a48:
  if (var_41 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_42();
  }
  return var_8;
}


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

int MASKED(int param_1,undefined4 param_2,uint param_3,uint param_4,int param_5)

{
  bool bVar1;
  int iVar2;
  uint uVar3;
  void *__s;
  int *piVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  uint uVar10;
  int *piVar11;
  int iVar12;
  int in_GS_OFFSET;
  undefined8 uVar13;
  int local_74;
  int *local_68;
  undefined4 local_5c;
  undefined4 local_58;
  int local_50;
  undefined4 local_4c;
  uint local_48;
  uint local_44;
  int local_40;
  undefined4 local_3c;
  undefined4 local_38;
  int local_34;
  int *local_30;
  int local_2c;
  int local_28;
  undefined4 *local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x194699;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (Image *) NULL","MagickCore/statistic.c",0xb64,"MASKED");
  }
  if (*(int *)(param_1 + 0x3344) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/statistic.c",0xb65,
                  "MASKED");
  }
  if (*(int *)(param_1 + 0x3328) != 0) {
    LogMagickEvent(0x8000,"MagickCore/statistic.c","MASKED",0xb67,&DAT_002b6e4e,
                   param_1 + 0x318);
  }
  if (param_5 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","MagickCore/statistic.c",0xb68,
                  "MASKED");
  }
  if (*(int *)(param_5 + 0x1c) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","MagickCore/statistic.c",0xb69,
                  "MASKED");
  }
  local_74 = CloneImage(param_1,0,0,1,param_5);
  if (local_74 == 0) goto LAB_00194a48;
  iVar2 = SetImageStorageClass(local_74,1,param_5);
  if (iVar2 == 0) {
    DestroyImage(local_74);
    local_74 = 0;
    goto LAB_00194a48;
  }
  uVar10 = 1;
  if (param_4 != 0) {
    uVar10 = param_4;
  }
  uVar3 = 1;
  if (param_3 != 0) {
    uVar3 = param_3;
  }
  iVar2 = GetMagickResourceLimit(7);
  local_68 = (int *)AcquireQuantumMemory(iVar2,4);
  if (local_68 == (int *)0x0) {
LAB_00194b30:
    DestroyImage(local_74);
    ThrowMagickException
              (param_5,"MagickCore/statistic.c","MASKED",0xb78,400,"MemoryAllocationFailed",
               "`%s\'",param_1 + 0x318);
    local_74 = 0;
    goto LAB_00194a48;
  }
  memset(local_68,0,iVar2 * 4);
  if (0 < iVar2) {
    iVar12 = 0;
    piVar11 = local_68;
    do {
      piVar4 = (int *)AcquireMagickMemory(0x14);
      if (piVar4 == (int *)0x0) {
        *piVar11 = 0;
LAB_00194859:
        local_68 = (int *)FUN_00190530();
        if (local_68 == (int *)0x0) goto LAB_00194b30;
        break;
      }
      piVar4[1] = 0;
      piVar4[2] = 0;
      piVar4[3] = 0;
      piVar4[4] = 0;
      *piVar4 = uVar10 * uVar3;
      __s = (void *)AcquireAlignedMemory(0x10001,0x2c);
      piVar4[3] = (int)__s;
      if (__s == (void *)0x0) {
        iVar7 = FUN_0018fda0();
        *piVar11 = iVar7;
        if (iVar7 == 0) goto LAB_00194859;
      }
      else {
        memset(__s,0,0x2c002c);
        piVar4[4] = -0x54535255;
        *piVar11 = (int)piVar4;
      }
      iVar12 = iVar12 + 1;
      piVar11 = piVar11 + 1;
    } while (iVar12 != iVar2);
  }
  local_5c = 0;
  local_58 = 0;
  iVar2 = *(int *)(param_1 + 0x18);
  iVar12 = *(int *)(param_1 + 0x298);
  uVar5 = AcquireVirtualCacheView(param_1,param_5);
  uVar6 = AcquireAuthenticCacheView(local_74,param_5);
  iVar7 = GetImagePixelCacheType(param_1);
  if (((iVar7 == 4) || (iVar7 = GetImagePixelCacheType(param_1), iVar7 == 3)) &&
     ((iVar7 = GetImagePixelCacheType(local_74), iVar7 == 4 ||
      (iVar7 = GetImagePixelCacheType(local_74), iVar7 == 3)))) {
    iVar9 = GetMagickResourceLimit(7);
    iVar7 = *(int *)(local_74 + 0x1c);
    iVar8 = iVar7 + 0x3f;
    if (-1 < iVar7) {
      iVar8 = iVar7;
    }
    bVar1 = 0x7f < iVar7;
    if (iVar9 < iVar8 >> 6) {
      iVar7 = GetMagickResourceLimit(7);
      bVar1 = 1 < iVar7;
    }
    if (bVar1) {
      iVar9 = GetMagickResourceLimit(7);
      iVar7 = *(int *)(local_74 + 0x1c);
      iVar8 = iVar7 + 0x3f;
      if (-1 < iVar7) {
        iVar8 = iVar7;
      }
      iVar8 = iVar8 >> 6;
      if (iVar9 < iVar8) {
        iVar8 = GetMagickResourceLimit(7);
      }
    }
    else {
LAB_0019499c:
      iVar8 = 1;
    }
  }
  else {
    uVar13 = GetMagickResourceLimit(7);
    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {
      uVar13 = GetMagickResourceLimit(7);
      if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) goto LAB_0019499c;
    }
    uVar13 = GetMagickResourceLimit(7);
    if (((int)((ulonglong)uVar13 >> 0x20) == 0) && ((uint)uVar13 < 2)) {
      iVar8 = GetMagickResourceLimit(7);
    }
    else {
      iVar8 = 2;
    }
  }
  local_28 = 1;
  local_30 = local_68;
  local_40 = param_5;
  local_44 = param_4;
  local_48 = param_3;
  local_4c = param_2;
  local_50 = param_1;
  local_24 = &local_5c;
  local_3c = uVar5;
  local_38 = uVar6;
  local_34 = local_74;
  local_2c = ((iVar2 + uVar3) * (uVar10 >> 1) + (uVar3 >> 1)) * iVar12;
  GOMP_parallel(FUN_0018f510,&local_50,iVar8,0);
  iVar2 = local_28;
  DestroyCacheView(uVar6);
  DestroyCacheView(uVar5);
  FUN_00190530();
  if (iVar2 == 0) {
    local_74 = DestroyImage(local_74);
  }
LAB_00194a48:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return local_74;
}

