
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x00050f77) */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */

MagickBooleanType __regparm3 OpenPixelCache(Image *image,MapMode mode,ExceptionInfo *exception)

{
  int iVar1;
  CacheInfo *clone_info;
  size_t sVar2;
  uint uVar3;
  uint uVar4;
  ColorspaceType CVar5;
  ulonglong size;
  longlong lVar6;
  double dVar7;
  double dVar8;
  double dVar9;
  size_t sVar10;
  MagickBooleanType MVar11;
  undefined4 uVar12;
  uint uVar13;
  undefined4 uVar14;
  MagickBooleanType MVar15;
  void *pvVar16;
  DistributeCacheInfo *server_info;
  int *piVar17;
  char *pcVar18;
  char *pcVar19;
  ssize_t sVar20;
  CacheInfo *pCVar21;
  char *pcVar22;
  Quantum *pQVar23;
  CacheInfo *pCVar24;
  int iVar25;
  CacheInfo *pCVar26;
  PixelChannelMap *pPVar27;
  PixelChannelMap *pPVar28;
  int iVar29;
  int in_GS_OFFSET;
  bool bVar30;
  byte bVar31;
  MagickSizeType MVar32;
  undefined8 uVar33;
  ulonglong uVar34;
  __off64_t _Var35;
  ExceptionType severity;
  CacheType type;
  Image *pIVar36;
  undefined8 local_4494;
  undefined8 local_4484;
  undefined8 local_447c;
  int local_446c;
  int local_4468;
  uint local_444c;
  int local_4448;
  CacheInfo source_info;
  char format [4096];
  char message [4096];
  
  bVar31 = 0;
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  if (image == (Image *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");
  }
  if (image->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,
                  "OpenPixelCache");
  }
  if (image->cache == (void *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");
  }
  if (image->debug == MagickFalse) {
    bVar30 = cache_anonymous_memory < 0;
  }
  else {
    LogMagickEvent(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename);
    bVar30 = cache_anonymous_memory < 0;
  }
  if (bVar30) {
    cache_anonymous_memory = 0;
    pcVar22 = GetPolicyValue("pixel-cache-memory");
    if (pcVar22 == (char *)0x0) {
      pcVar22 = GetPolicyValue("cache:memory-map");
    }
    iVar25 = LocaleCompare(pcVar22,"anonymous");
    if (iVar25 == 0) {
      cache_anonymous_memory = 1;
    }
    DestroyString(pcVar22);
  }
  if ((image->columns == 0) || (image->rows == 0)) {
    pcVar22 = "NoPixelsDefinedInCache";
    severity = CacheError;
    sVar10 = 0xe65;
  }
  else {
    clone_info = (CacheInfo *)image->cache;
    if (clone_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,
                    "OpenPixelCache");
    }
    pcVar22 = image->filename;
    if (((*(int *)((int)&clone_info->width_limit + 4) == 0) &&
        ((uint)clone_info->width_limit < image->columns)) ||
       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&
        ((uint)clone_info->height_limit < image->rows)))) {
      pcVar22 = "WidthOrHeightExceedsLimit";
      severity = ImageError;
      sVar10 = 0xe6b;
    }
    else {
      MVar32 = GetMagickResourceLimit(ListLengthResource);
      if (MVar32 != 0x7fffffffffffffff) {
        sVar10 = GetImageListLength(image);
        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);
        if (MVar11 == MagickFalse) {
          ThrowMagickException
                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,
                     "ListLengthExceedsLimit","`%s\'",pcVar22);
          MVar11 = MagickFalse;
          goto LAB_00050b1b;
        }
      }
      pCVar24 = &source_info;
      pcVar18 = clone_info->filename;
      memcpy(pCVar24,clone_info,0x2414);
      source_info.file = -1;
      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),
                         (int)((ulonglong)(double)image->scene >> 0x20));
      clone_info->storage_class = image->storage_class;
      clone_info->colorspace = image->colorspace;
      clone_info->alpha_trait = image->alpha_trait;
      clone_info->channels = image->channels;
      clone_info->rows = image->rows;
      clone_info->columns = image->columns;
      InitializePixelChannelMap(image);
      sVar10 = image->number_channels;
      pPVar27 = image->channel_map;
      clone_info->number_channels = sVar10;
      pPVar28 = clone_info->channel_map;
      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {
        pPVar28->channel = pPVar27->channel;
        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);
        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);
      }
      sVar2 = image->metacontent_extent;
      uVar3 = clone_info->rows;
      clone_info->mode = mode;
      uVar4 = clone_info->columns;
      clone_info->metacontent_extent = sVar2;
      size = (ulonglong)uVar4 * (ulonglong)uVar3;
      uVar13 = sVar2 + sVar10 * 8;
      local_4468 = (int)(size >> 0x20);
      local_446c = (int)size;
      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);
      uVar12 = (undefined4)lVar6;
      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;
      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);
      uVar13 = __udivdi3(uVar33,uVar13,0);
      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {
        MVar11 = image->ping;
        *(undefined4 *)&clone_info->length = uVar12;
        *(int *)((int)&clone_info->length + 4) = iVar25;
        if (MVar11 != MagickFalse) {
          MVar11 = MagickTrue;
          clone_info->storage_class = image->storage_class;
          CVar5 = image->colorspace;
          clone_info->type = PingCache;
          clone_info->colorspace = CVar5;
          goto LAB_00050b1b;
        }
        MVar11 = AcquireMagickResource(AreaResource,size);
        if (clone_info->mode == PersistMode) {
LAB_00051068:
          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);
          uVar14 = (undefined4)clone_info->length;
LAB_00050cf5:
          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));
          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);
          MVar11 = MagickFalse;
          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {
            server_info = AcquireDistributeCacheInfo(exception);
            if (server_info != (DistributeCacheInfo *)0x0) {
              MVar15 = OpenDistributePixelCache(server_info,image);
              if (MVar15 != MagickFalse) {
                clone_info->server_info = server_info;
                clone_info->type = DistributedCache;
                iVar25 = GetDistributeCachePort(server_info);
                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)
                ;
                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);
                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {
                  pCVar26 = (CacheInfo *)0x1;
                }
                else {
                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);
                  RelinquishPixelCachePixels(pCVar24);
                }
                if (image->debug != MagickFalse) {
                  pCVar24 = pCVar26;
                  pCVar21 = pCVar26;
                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);
                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);
                  local_4494 = (ulonglong)clone_info->number_channels;
                  dVar7 = (double)local_4494;
                  local_4484 = (ulonglong)clone_info->rows;
                  dVar8 = (double)local_4484;
                  local_447c = (ulonglong)clone_info->columns;
                  dVar9 = (double)local_447c;
                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);
                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);
                  local_4494._0_4_ = SUB84(dVar7,0);
                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);
                  local_4484._0_4_ = SUB84(dVar8,0);
                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);
                  local_447c._0_4_ = SUB84(dVar9,0);
                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,
                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,
                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format
                                     ,pCVar24,pCVar21);
                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message
                                );
                }
                goto LAB_00051052;
              }
              piVar17 = __errno_location();
              pcVar18 = GetExceptionMessage(*piVar17);
              pcVar19 = GetDistributeCacheHostname(server_info);
              ThrowMagickException
                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,
                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);
              DestroyString(pcVar18);
              DestroyDistributeCacheInfo(server_info);
            }
            clone_info->type = UndefinedCache;
            ThrowMagickException
                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,
                       "CacheResourcesExhausted","`%s\'",pcVar22);
            goto LAB_00050b1b;
          }
          if (MVar15 == MagickFalse) {
            clone_info->type = UndefinedCache;
            pcVar22 = "CacheResourcesExhausted";
            severity = CacheError;
            sVar10 = 0xf2b;
            goto LAB_00050aff;
          }
          bVar30 = mode != ReadMode;
          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&
             (clone_info->mode != PersistMode)) {
            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);
            clone_info->cache_filename[0] = '\0';
          }
          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);
          if (MVar15 == MagickFalse) {
            clone_info->type = UndefinedCache;
            piVar17 = __errno_location();
            pcVar18 = GetExceptionMessage(*piVar17);
            ThrowMagickException
                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,
                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);
            DestroyString(pcVar18);
            MVar11 = MagickFalse;
            goto LAB_00050b1b;
          }
          uVar13 = (uint)clone_info->length;
          iVar25 = uVar13 + (int)clone_info->offset;
          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +
                   (uint)CARRY4(uVar13,(uint)clone_info->offset);
          pvVar16 = image->cache;
          MVar15 = image->debug;
          if (MVar15 != MagickFalse) {
            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);
            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,
                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,
                               MVar15);
            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)
            ;
          }
          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);
          if (-1 < (longlong)uVar34) {
            if (uVar34 < CONCAT44(iVar29,iVar25)) {
              uVar13 = iVar25 - 1;
              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);
              do {
                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,
                                  CONCAT44(iVar25,uVar13));
                if (0 < sVar20) {
                  if (sVar20 == 1) {
                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;
                    local_444c = (uint)uVar34;
                    local_4448 = (int)(uVar34 >> 0x20);
                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),
                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)
                                                        ,local_444c + 1),
                                               CONCAT44((iVar25 - local_4448) -
                                                        (uint)(uVar13 < local_444c),
                                                        uVar13 - local_444c));
                    if (iVar25 == 0) goto LAB_00050fd6;
                  }
                  break;
                }
                piVar17 = __errno_location();
              } while (*piVar17 == 4);
            }
            else {
LAB_00050fd6:
              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);
              if (-1 < _Var35) {
                clone_info->type = DiskCache;
                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;
                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);
                pCVar21 = (CacheInfo *)lVar6;
                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&
                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),
                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {
                  pQVar23 = (Quantum *)
                            MapBlob(clone_info->file,mode,clone_info->offset,
                                    (size_t)clone_info->length);
                  clone_info->pixels = pQVar23;
                  if (pQVar23 == (Quantum *)0x0) {
                    clone_info->mapped = source_info.mapped;
                    clone_info->pixels = source_info.pixels;
                    RelinquishMagickResource(MapResource,clone_info->length);
                    pCVar21 = (CacheInfo *)source_info.pixels;
                    goto LAB_0005102c;
                  }
                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);
                  clone_info->type = MapCache;
                  clone_info->mapped = MagickTrue;
                  clone_info->metacontent = (void *)0x0;
                  if (clone_info->metacontent_extent != 0) {
                    clone_info->metacontent =
                         (Quantum *)
                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);
                  }
                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {
                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);
                    RelinquishPixelCachePixels(pCVar24);
                  }
                  if (image->debug == MagickFalse) goto LAB_00051052;
                  pIVar36 = image;
                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);
                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);
                  local_4494 = (ulonglong)clone_info->number_channels;
                  dVar7 = (double)local_4494;
                  local_4494 = (ulonglong)clone_info->rows;
                  dVar8 = (double)local_4494;
                  local_4494 = (ulonglong)clone_info->columns;
                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,
                                     SUB84((double)local_4494,0),
                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),
                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),
                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);
                  sVar10 = 0xf74;
                }
                else {
LAB_0005102c:
                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {
                    pCVar26 = (CacheInfo *)0x1;
                    pCVar24 = pCVar21;
                  }
                  else {
                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);
                    RelinquishPixelCachePixels(pCVar24);
                  }
                  if (image->debug == MagickFalse) goto LAB_00051052;
                  pCVar21 = pCVar24;
                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);
                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);
                  local_4494 = (ulonglong)clone_info->number_channels;
                  dVar7 = (double)local_4494;
                  local_4494 = (ulonglong)clone_info->rows;
                  dVar8 = (double)local_4494;
                  local_4494 = (ulonglong)clone_info->columns;
                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,
                                     SUB84((double)local_4494,0),
                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),
                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),
                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);
                  sVar10 = 0xf91;
                }
                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)
                ;
                goto LAB_00051052;
              }
            }
          }
          clone_info->type = UndefinedCache;
          piVar17 = __errno_location();
          pcVar18 = GetExceptionMessage(*piVar17);
          ThrowMagickException
                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,
                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);
          DestroyString(pcVar18);
        }
        else {
          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;
          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);
          uVar14 = (undefined4)clone_info->length;
          if (((MVar11 == MagickFalse) ||
              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))
             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;
          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);
          if (MVar11 == MagickFalse) goto LAB_00051068;
          sVar10 = (size_t)clone_info->length;
          if (cache_anonymous_memory < 1) {
            clone_info->mapped = MagickFalse;
            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);
            clone_info->pixels = pQVar23;
          }
          else {
            clone_info->mapped = MagickTrue;
            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);
            clone_info->pixels = pQVar23;
          }
          if (clone_info->pixels == (Quantum *)0x0) {
            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);
            clone_info->mapped = source_info.mapped;
            clone_info->pixels = source_info.pixels;
            uVar14 = (undefined4)clone_info->length;
            goto LAB_00050cf5;
          }
          clone_info->type = MemoryCache;
          clone_info->metacontent = (void *)0x0;
          if (clone_info->metacontent_extent != 0) {
            clone_info->metacontent =
                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)
            ;
          }
          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {
            pCVar26 = (CacheInfo *)0x1;
            pCVar24 = clone_info;
          }
          else {
            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);
            RelinquishPixelCachePixels(pCVar24);
          }
          if (image->debug != MagickFalse) {
            pCVar21 = pCVar24;
            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);
            type = clone_info->type;
            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);
            local_4484 = (ulonglong)clone_info->number_channels;
            dVar7 = (double)local_4484;
            local_4484 = (ulonglong)clone_info->rows;
            dVar8 = (double)local_4484;
            pcVar22 = "Heap";
            local_4484 = (ulonglong)clone_info->columns;
            if (clone_info->mapped != MagickFalse) {
              pcVar22 = "Anonymous";
            }
            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,
                               pcVar22,pcVar19,SUB84((double)local_4484,0),
                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),
                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),
                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);
            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);
          }
          clone_info->storage_class = image->storage_class;
LAB_00051052:
          if (pCVar26 == (CacheInfo *)0x0) {
            clone_info->type = UndefinedCache;
            MVar11 = MagickFalse;
          }
          else {
            MVar11 = MagickTrue;
          }
        }
        goto LAB_00050b1b;
      }
      pcVar22 = "PixelCacheAllocationFailed";
      severity = ErrorException;
      sVar10 = 0xe8c;
    }
  }
LAB_00050aff:
  ThrowMagickException
            (exception,"MagickCore/cache.c","OpenPixelCache",sVar10,severity,pcVar22,"`%s\'",
             image->filename);
  MVar11 = MagickFalse;
LAB_00050b1b:
  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return MVar11;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x00050f77) */

undefined4 __regparm3 FUN_00050840(int *param_1,int param_2,undefined4 param_3)

{
  int *piVar1;
  uint uVar2;
  uint uVar3;
  ulonglong uVar4;
  double dVar5;
  double dVar6;
  undefined4 uVar7;
  int iVar8;
  uint uVar9;
  int *piVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  ssize_t sVar13;
  int *piVar14;
  int *piVar15;
  int iVar16;
  int *piVar17;
  int iVar18;
  int *piVar19;
  int iVar20;
  int in_GS_OFFSET;
  bool bVar21;
  byte bVar22;
  longlong lVar23;
  undefined8 uVar24;
  ulonglong uVar25;
  __off64_t _Var26;
  char *pcVar27;
  ulonglong local_4494;
  ulonglong local_4484;
  ulonglong local_447c;
  int local_446c;
  int local_4468;
  uint local_444c;
  int local_4448;
  int local_4434 [203];
  int local_4108;
  int local_4098;
  undefined4 local_4090;
  undefined1 local_2020 [4096];
  undefined1 local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  bVar22 = 0;
  uStack_14 = 0x5084b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");
  }
  if (param_1[0xcd1] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,
                  "OpenPixelCache");
  }
  if (param_1[0xab] == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");
  }
  if (param_1[0xcca] == 0) {
    bVar21 = DAT_003d9d78 < 0;
  }
  else {
    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);
    bVar21 = DAT_003d9d78 < 0;
  }
  if (bVar21) {
    DAT_003d9d78 = 0;
    iVar8 = GetPolicyValue("pixel-cache-memory");
    if (iVar8 == 0) {
      iVar8 = GetPolicyValue("cache:memory-map");
    }
    iVar16 = LocaleCompare(iVar8,"anonymous");
    if (iVar16 == 0) {
      DAT_003d9d78 = 1;
    }
    DestroyString(iVar8);
  }
  if ((param_1[6] == 0) || (param_1[7] == 0)) {
    pcVar27 = "NoPixelsDefinedInCache";
    uVar11 = 0x1bd;
    uVar7 = 0xe65;
  }
  else {
    piVar15 = (int *)param_1[0xab];
    if (piVar15[0x8fe] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,
                    "OpenPixelCache");
    }
    piVar1 = param_1 + 0xc6;
    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||
       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {
      pcVar27 = "WidthOrHeightExceedsLimit";
      uVar11 = 0x1d1;
      uVar7 = 0xe6b;
    }
    else {
      lVar23 = GetMagickResourceLimit(0xb);
      if (lVar23 != 0x7fffffffffffffff) {
        uVar7 = GetImageListLength(param_1);
        iVar8 = AcquireMagickResource(0xb,uVar7,0);
        if (iVar8 == 0) {
          ThrowMagickException
                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,
                     "ListLengthExceedsLimit","`%s\'",piVar1);
          uVar7 = 0;
          goto LAB_00050b1b;
        }
      }
      piVar14 = local_4434;
      piVar10 = piVar15 + 0xea;
      memcpy(piVar14,piVar15,0x2414);
      local_4090 = 0xffffffff;
      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);
      *piVar15 = *param_1;
      piVar15[1] = param_1[1];
      piVar15[2] = param_1[0xa5];
      piVar15[3] = param_1[0xce8];
      piVar15[5] = param_1[7];
      piVar15[4] = param_1[6];
      InitializePixelChannelMap(param_1);
      iVar8 = param_1[0xa6];
      piVar17 = (int *)param_1[0xaa];
      piVar15[7] = iVar8;
      piVar19 = piVar15 + 8;
      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {
        *piVar19 = *piVar17;
        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;
        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;
      }
      iVar16 = param_1[0xa8];
      uVar2 = piVar15[5];
      piVar15[0xc9] = param_2;
      uVar3 = piVar15[4];
      piVar15[6] = iVar16;
      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;
      uVar9 = iVar16 + iVar8 * 8;
      local_4468 = (int)(uVar4 >> 0x20);
      local_446c = (int)uVar4;
      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);
      iVar16 = (int)lVar23;
      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;
      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);
      uVar9 = FUN_0029e870(uVar24,uVar9,0);
      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {
        iVar18 = param_1[0xa2];
        piVar15[0xce] = iVar16;
        piVar15[0xcf] = iVar8;
        if (iVar18 != 0) {
          uVar7 = 1;
          *piVar15 = *param_1;
          iVar8 = param_1[1];
          piVar15[200] = 5;
          piVar15[1] = iVar8;
          goto LAB_00050b1b;
        }
        iVar8 = AcquireMagickResource(1,uVar4);
        if (piVar15[0xc9] == 3) {
LAB_00051068:
          iVar16 = piVar15[0xcf];
          iVar18 = piVar15[0xce];
LAB_00050cf5:
          iVar8 = AcquireMagickResource(2,iVar18,iVar16);
          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);
          uVar7 = 0;
          if ((iVar8 == 0) && (iVar16 != 0)) {
            iVar8 = FUN_0008aed0(param_3);
            if (iVar8 != 0) {
              iVar16 = FUN_0008b670(iVar8,param_1);
              if (iVar16 != 0) {
                piVar15[0x8f6] = iVar8;
                piVar15[200] = 2;
                uVar7 = FUN_0008b600(iVar8);
                uVar11 = FUN_0008b590(piVar15[0x8f6]);
                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);
                if ((local_4434[0] == 0) || (param_2 == 0)) {
                  iVar8 = 1;
                }
                else {
                  iVar8 = FUN_0004ffc0();
                  FUN_0004cba0();
                }
                if (param_1[0xcca] != 0) {
                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,
                                   iVar8,iVar8);
                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);
                  local_4494 = (ulonglong)(uint)piVar15[7];
                  local_4484 = (ulonglong)(uint)piVar15[5];
                  local_447c = (ulonglong)(uint)piVar15[4];
                  uVar11 = FUN_0008b520(piVar15[0x8f6]);
                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,
                                     (double)local_4484,(double)local_4494,local_2020);
                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,
                                 local_1020);
                }
                goto LAB_00051052;
              }
              piVar10 = __errno_location();
              uVar11 = GetExceptionMessage(*piVar10);
              uVar12 = FUN_0008b590(iVar8);
              ThrowMagickException
                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,
                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);
              DestroyString(uVar11);
              FUN_0008ae40(iVar8);
            }
            piVar15[200] = 0;
            ThrowMagickException
                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,
                       "CacheResourcesExhausted","`%s\'",piVar1);
            goto LAB_00050b1b;
          }
          if (iVar8 == 0) {
            piVar15[200] = 0;
            pcVar27 = "CacheResourcesExhausted";
            uVar11 = 0x1bd;
            uVar7 = 0xf2b;
            goto LAB_00050aff;
          }
          bVar21 = param_2 != 0;
          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {
            FUN_0004cb50();
            *(undefined1 *)(piVar15 + 0x4ea) = 0;
          }
          iVar8 = FUN_0004cd50();
          if (iVar8 == 0) {
            piVar15[200] = 0;
            piVar15 = __errno_location();
            uVar7 = GetExceptionMessage(*piVar15);
            ThrowMagickException
                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,
                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);
            DestroyString(uVar7);
            uVar7 = 0;
            goto LAB_00050b1b;
          }
          iVar18 = piVar15[0xce] + piVar15[0xcc];
          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);
          iVar8 = param_1[0xab];
          iVar16 = param_1[0xcca];
          if (iVar16 != 0) {
            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);
            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,
                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);
            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,
                           local_1020);
          }
          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);
          if (-1 < (longlong)uVar25) {
            if (uVar25 < CONCAT44(iVar20,iVar18)) {
              uVar9 = iVar18 - 1;
              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);
              do {
                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));
                if (0 < sVar13) {
                  if (sVar13 == 1) {
                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;
                    local_444c = (uint)uVar25;
                    local_4448 = (int)(uVar25 >> 0x20);
                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),
                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)
                                                        ,local_444c + 1),
                                               CONCAT44((iVar16 - local_4448) -
                                                        (uint)(uVar9 < local_444c),
                                                        uVar9 - local_444c));
                    if (iVar16 == 0) goto LAB_00050fd6;
                  }
                  break;
                }
                piVar14 = __errno_location();
              } while (*piVar14 == 4);
            }
            else {
LAB_00050fd6:
              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);
              if (-1 < _Var26) {
                piVar15[200] = 1;
                uVar9 = piVar15[6] + piVar15[7] * 8;
                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);
                iVar16 = (int)lVar23;
                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&
                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),
                   iVar16 != 0)) {
                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);
                  piVar15[0xe7] = iVar8;
                  if (iVar8 == 0) {
                    piVar15[0xcb] = local_4108;
                    piVar15[0xe7] = local_4098;
                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);
                    goto LAB_0005102c;
                  }
                  FUN_0004cb50();
                  piVar15[200] = 3;
                  piVar15[0xcb] = 1;
                  piVar15[0xe8] = 0;
                  if (piVar15[6] != 0) {
                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];
                  }
                  if ((local_4434[0] != 0) && (bVar21)) {
                    iVar16 = FUN_0004ffc0();
                    FUN_0004cba0();
                  }
                  iVar8 = iVar16;
                  if (param_1[0xcca] == 0) goto LAB_00051052;
                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,
                                   param_1,param_1);
                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);
                  local_4494 = (ulonglong)(uint)piVar15[7];
                  dVar5 = (double)local_4494;
                  local_4494 = (ulonglong)(uint)piVar15[5];
                  dVar6 = (double)local_4494;
                  local_4494 = (ulonglong)(uint)piVar15[4];
                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,
                                     dVar6,dVar5,local_2020);
                  uVar7 = 0xf74;
                }
                else {
LAB_0005102c:
                  if ((local_4434[0] == 0) || (!bVar21)) {
                    iVar8 = 1;
                  }
                  else {
                    iVar8 = FUN_0004ffc0();
                    iVar16 = FUN_0004cba0();
                  }
                  if (param_1[0xcca] == 0) goto LAB_00051052;
                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,
                                   iVar16,iVar16);
                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);
                  local_4494 = (ulonglong)(uint)piVar15[7];
                  dVar5 = (double)local_4494;
                  local_4494 = (ulonglong)(uint)piVar15[5];
                  dVar6 = (double)local_4494;
                  local_4494 = (ulonglong)(uint)piVar15[4];
                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,
                                     dVar6,dVar5,local_2020);
                  uVar7 = 0xf91;
                  iVar16 = iVar8;
                }
                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,
                               local_1020);
                iVar8 = iVar16;
                goto LAB_00051052;
              }
            }
          }
          piVar15[200] = 0;
          piVar15 = __errno_location();
          uVar11 = GetExceptionMessage(*piVar15);
          ThrowMagickException
                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"
                     ,"\'%s\': %s",piVar1,uVar11);
          DestroyString(uVar11);
        }
        else {
          uVar9 = piVar15[6] + piVar15[7] * 8;
          iVar16 = piVar15[0xcf];
          iVar18 = piVar15[0xce];
          if (((iVar8 == 0) ||
              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||
             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;
          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);
          if (iVar16 == 0) goto LAB_00051068;
          if (DAT_003d9d78 < 1) {
            piVar15[0xcb] = 0;
            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);
            piVar15[0xe7] = iVar8;
          }
          else {
            piVar15[0xcb] = 1;
            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);
            piVar15[0xe7] = iVar8;
          }
          if (piVar15[0xe7] == 0) {
            iVar16 = piVar15[0xcf];
            piVar15[0xcb] = local_4108;
            piVar15[0xe7] = local_4098;
            iVar18 = piVar15[0xce];
            goto LAB_00050cf5;
          }
          piVar15[200] = 4;
          piVar15[0xe8] = 0;
          if (piVar15[6] != 0) {
            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];
          }
          if ((local_4434[0] == 0) || (param_2 == 0)) {
            iVar8 = 1;
            piVar14 = piVar15;
          }
          else {
            iVar8 = FUN_0004ffc0();
            FUN_0004cba0();
          }
          if (param_1[0xcca] != 0) {
            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,
                             piVar14);
            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);
            local_4484 = (ulonglong)(uint)piVar15[7];
            dVar5 = (double)local_4484;
            local_4484 = (ulonglong)(uint)piVar15[5];
            dVar6 = (double)local_4484;
            pcVar27 = "Heap";
            local_4484 = (ulonglong)(uint)piVar15[4];
            if (piVar15[0xcb] != 0) {
              pcVar27 = "Anonymous";
            }
            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,
                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);
            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);
          }
          *piVar15 = *param_1;
LAB_00051052:
          if (iVar8 == 0) {
            piVar15[200] = 0;
            uVar7 = 0;
          }
          else {
            uVar7 = 1;
          }
        }
        goto LAB_00050b1b;
      }
      pcVar27 = "PixelCacheAllocationFailed";
      uVar11 = 400;
      uVar7 = 0xe8c;
    }
  }
LAB_00050aff:
  ThrowMagickException
            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",
             param_1 + 0xc6);
  uVar7 = 0;
LAB_00050b1b:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return uVar7;
}


PUSH EBP
MOV EBP,EAX
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00038830
ADD EBX,0x3887b5
SUB ESP,0x448c
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x447c],EAX
XOR EAX,EAX
MOV dword ptr [ESP + 0x18],EDX
MOV dword ptr [ESP + 0x8],ECX
TEST EBP,EBP
JZ 0x00051468
CMP dword ptr [EBP + 0x3344],0xabacadab
JNZ 0x00051449
MOV EAX,dword ptr [EBP + 0x2ac]
TEST EAX,EAX
JZ 0x0005142a
MOV EDI,dword ptr [EBP + 0x3328]
TEST EDI,EDI
JNZ 0x00050b70
MOV ESI,dword ptr [EBX + 0xd78]
TEST ESI,ESI
JS 0x00050baf
MOV EAX,dword ptr [EBP + 0x18]
TEST EAX,EAX
JZ 0x00050ae0
MOV EDX,dword ptr [EBP + 0x1c]
TEST EDX,EDX
JZ 0x00050ae0
MOV EDI,dword ptr [EBP + 0x2ac]
CMP dword ptr [EDI + 0x23f8],0xabacadab
MOV dword ptr [ESP + 0x14],EDI
JNZ 0x0005170f
MOV ECX,dword ptr [ESP + 0x14]
LEA ESI,[EBP + 0x318]
XOR EDI,EDI
MOV dword ptr [ESP + 0x20],ESI
CMP EDI,dword ptr [ECX + 0x2408]
JA 0x00050b50
JC 0x0005090a
CMP EAX,dword ptr [ECX + 0x2404]
JA 0x00050b50
MOV EAX,dword ptr [ESP + 0x14]
XOR EDI,EDI
CMP EDI,dword ptr [EAX + 0x2410]
JNC 0x00050b40
SUB ESP,0xc
PUSH 0xb
CALL 0x00032640
ADD ESP,0x10
NOT EAX
XOR EDX,0x7fffffff
OR EDX,EAX
JZ 0x00050957
SUB ESP,0xc
PUSH EBP
CALL 0x00032180
ADD ESP,0xc
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH 0xb
CALL 0x00030be0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00050c50
LEA EAX,[ESP + 0x68]
SUB ESP,0x4
MOV dword ptr [ESP + 0x48],EAX
PUSH 0x2414
MOV EDI,dword ptr [ESP + 0x1c]
PUSH EDI
LEA ESI,[EDI + 0x3a8]
PUSH EAX
CALL 0x00031e30
MOV EAX,dword ptr [EBP + 0x244]
XOR EDX,EDX
MOV dword ptr [ESP + 0x50],ESI
MOV dword ptr [ESP + 0x3c],EDX
MOV dword ptr [ESP + 0x41c],0xffffffff
MOV dword ptr [ESP + 0x38],EAX
LEA EAX,[EBX + 0xffec759d]
FILD qword ptr [ESP + 0x38]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x30]
PUSH EAX
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
MOV EAX,dword ptr [EBP]
ADD ESP,0x14
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [EBP + 0x4]
MOV dword ptr [EDI + 0x4],EAX
MOV EAX,dword ptr [EBP + 0x294]
MOV dword ptr [EDI + 0x8],EAX
MOV EAX,dword ptr [EBP + 0x33a0]
MOV dword ptr [EDI + 0xc],EAX
MOV EAX,dword ptr [EBP + 0x1c]
MOV dword ptr [EDI + 0x14],EAX
MOV EAX,dword ptr [EBP + 0x18]
MOV dword ptr [EDI + 0x10],EAX
PUSH EBP
CALL 0x000308b0
MOV EAX,dword ptr [EBP + 0x298]
MOV EDX,EDI
MOV ECX,0xc0
MOV ESI,dword ptr [EBP + 0x2a8]
MOV dword ptr [ESP + 0x4c],0x0
MOV dword ptr [EDI + 0x1c],EAX
MOV dword ptr [ESP + 0x38],EAX
LEA EAX,[EDI + 0x20]
MOV EDI,EAX
MOVSD.REP ES:EDI,ESI
MOV ESI,dword ptr [ESP + 0x28]
MOV ECX,dword ptr [EBP + 0x2a0]
MOV EDI,dword ptr [EDX + 0x14]
MOV dword ptr [EDX + 0x324],ESI
MOV ESI,dword ptr [EDX + 0x10]
MOV dword ptr [EDX + 0x18],ECX
MOV EAX,ESI
MUL EDI
MOV dword ptr [ESP + 0x40],EAX
MOV EAX,dword ptr [ESP + 0x38]
MOV dword ptr [ESP + 0x44],EDX
LEA EAX,[ECX + EAX*0x8]
MOV ECX,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0x48],EAX
IMUL ECX,EAX
MUL dword ptr [ESP + 0x40]
MOV dword ptr [ESP + 0x3c],EDX
XOR EDX,EDX
ADD dword ptr [ESP + 0x3c],ECX
MOV dword ptr [ESP + 0x38],EAX
PUSH EDX
PUSH EDI
PUSH dword ptr [ESP + 0x44]
PUSH dword ptr [ESP + 0x44]
CALL 0x0029e870
ADD ESP,0x10
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x4c]
PUSH EDX
PUSH EAX
CALL 0x0029e870
ADD ESP,0x20
CMP ESI,EAX
JNZ 0x00050c08
TEST ESI,ESI
JS 0x00050c08
TEST EDI,EDI
JS 0x00050c08
MOV ESI,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [ESP + 0x28]
MOV EDX,dword ptr [ESP + 0x2c]
MOV ECX,dword ptr [EBP + 0x288]
MOV dword ptr [ESI + 0x338],EAX
MOV dword ptr [ESI + 0x33c],EDX
TEST ECX,ECX
JZ 0x00050c93
MOV EAX,dword ptr [EBP]
MOV ECX,0x1
MOV dword ptr [ESI],EAX
MOV EAX,dword ptr [EBP + 0x4]
MOV dword ptr [ESI + 0x320],0x5
MOV dword ptr [ESI + 0x4],EAX
JMP 0x00050b1b
LEA EAX,[EBX + 0xffec8a40]
ADD EBP,0x318
PUSH EBP
PUSH EAX
LEA EAX,[EBX + 0xffec74ba]
PUSH EAX
PUSH 0x1bd
PUSH 0xe65
LEA EAX,[EBX + 0xffec7c4c]
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
CALL 0x00032e80
ADD ESP,0x20
XOR ECX,ECX
MOV ESI,dword ptr [ESP + 0x447c]
XOR ESI,dword ptr GS:[0x14]
MOV EAX,ECX
JNZ 0x0005156a
ADD ESP,0x448c
POP EBX
POP ESI
POP EDI
POP EBP
RET
JA 0x00050b50
CMP EDX,dword ptr [EAX + 0x240c]
JBE 0x0005091c
NOP
PUSH dword ptr [ESP + 0x20]
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec5d0e]
PUSH EAX
PUSH 0x1d1
PUSH 0xe6b
JMP 0x00050aff
LEA EAX,[EBP + 0x318]
SUB ESP,0x8
PUSH EAX
LEA ESI,[EBX + 0xffec743f]
LEA EAX,[EBX + 0xffedde4e]
LEA EDI,[EBX + 0xffec7c4c]
PUSH EAX
PUSH 0xe4b
PUSH EDI
PUSH ESI
PUSH 0x8000
CALL 0x000323b0
MOV ESI,dword ptr [EBX + 0xd78]
ADD ESP,0x20
TEST ESI,ESI
JNS 0x000508b0
LEA EAX,[EBX + 0xffec7558]
SUB ESP,0xc
MOV dword ptr [EBX + 0xd78],0x0
PUSH EAX
CALL 0x00031f20
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JZ 0x00050c30
LEA EAX,[EBX + 0xffec757c]
SUB ESP,0x8
PUSH EAX
PUSH ESI
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00050bf2
MOV dword ptr [EBX + 0xd78],0x1
SUB ESP,0xc
PUSH ESI
CALL 0x00032950
ADD ESP,0x10
JMP 0x000508b0
PUSH dword ptr [ESP + 0x20]
LEA EAX,[EBX + 0xffec8a40]
PUSH EAX
LEA EAX,[EBX + 0xffec74d1]
PUSH EAX
PUSH 0x190
PUSH 0xe8c
JMP 0x00050aff
LEA EAX,[EBX + 0xffec756b]
SUB ESP,0xc
PUSH EAX
CALL 0x00031f20
ADD ESP,0x10
MOV ESI,EAX
JMP 0x00050bd1
MOV dword ptr [ESP + 0x14],EAX
LEA EAX,[EBX + 0xffec8a40]
PUSH dword ptr [ESP + 0x20]
PUSH EAX
LEA EAX,[EBX + 0xffec7586]
PUSH EAX
LEA EAX,[EBX + 0xffec7c4c]
PUSH 0x190
PUSH 0xe71
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH EAX
PUSH dword ptr [ESP + 0x24]
CALL 0x00032e80
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x14]
JMP 0x00050b1b
MOV dword ptr [ESP + 0x28],ECX
SUB ESP,0x4
PUSH dword ptr [ESP + 0x38]
PUSH dword ptr [ESP + 0x38]
PUSH 0x1
CALL 0x00030be0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x28]
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x14]
CMP dword ptr [EAX + 0x324],0x3
JZ 0x00051064
MOV EDX,dword ptr [EAX + 0x1c]
MOV EAX,dword ptr [EAX + 0x18]
MOV ESI,dword ptr [ESP + 0x34]
LEA EAX,[EAX + EDX*0x8]
IMUL ESI,EAX
MUL dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x14]
ADD ESI,EDX
MOV EDX,dword ptr [EAX + 0x33c]
MOV EAX,dword ptr [EAX + 0x338]
TEST EDI,EDI
JZ 0x00050cf5
TEST ESI,ESI
JZ 0x000510f7
MOV dword ptr [ESP + 0x28],ECX
SUB ESP,0x4
PUSH EDX
PUSH EAX
PUSH 0x2
CALL 0x00030be0
ADD ESP,0xc
MOV EDI,dword ptr [ESP + 0xc]
MOV ESI,EAX
LEA EAX,[EBX + 0xffec75a7]
PUSH EDI
PUSH EAX
PUSH 0x3
CALL 0x00031110
ADD ESP,0x10
TEST ESI,ESI
MOV ECX,dword ptr [ESP + 0x28]
JNZ 0x00050e32
TEST EAX,EAX
JZ 0x00050e32
LEA ESI,[EBX + 0xffec743f]
SUB ESP,0xc
PUSH EDI
LEA EDI,[EBX + 0xffec7c4c]
CALL 0x0008aed0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JZ 0x00050ded
MOV dword ptr [ESP + 0x30],ECX
SUB ESP,0x8
PUSH EBP
PUSH EAX
MOV dword ptr [ESP + 0x38],EAX
CALL 0x0008b670
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JNZ 0x0005128a
MOV dword ptr [ESP + 0x18],EDX
LEA EDI,[EBX + 0xffec7c4c]
CALL 0x000305f0
LEA ESI,[EBX + 0xffec743f]
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
MOV EDX,dword ptr [ESP + 0x28]
MOV EBP,EAX
MOV dword ptr [ESP],EDX
MOV dword ptr [ESP + 0x28],EDX
CALL 0x0008b590
MOV dword ptr [ESP],EBP
PUSH EAX
LEA EAX,[EBX + 0xffec5bcb]
PUSH EAX
LEA EAX,[EBX + 0xffec75b3]
PUSH EAX
PUSH 0x1bd
PUSH 0xef1
PUSH EDI
PUSH ESI
PUSH dword ptr [ESP + 0x34]
CALL 0x00032e80
ADD ESP,0x24
PUSH EBP
CALL 0x00032950
MOV EDX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP],EDX
CALL 0x0008ae40
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x18],ECX
MOV dword ptr [EAX + 0x320],0x0
LEA EAX,[EBX + 0xffec8a40]
PUSH dword ptr [ESP + 0x20]
PUSH EAX
LEA EAX,[EBX + 0xffec75d0]
PUSH EAX
PUSH 0x1bd
PUSH 0xf21
PUSH EDI
PUSH ESI
PUSH dword ptr [ESP + 0x24]
CALL 0x00032e80
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x18]
JMP 0x00050b1b
TEST ESI,ESI
JZ 0x00051248
MOV EAX,dword ptr [ESP + 0x18]
MOV EDX,dword ptr [ESP + 0x68]
TEST EAX,EAX
SETNZ byte ptr [ESP + 0x38]
MOVZX EAX,byte ptr [ESP + 0x38]
TEST EDX,EDX
JZ 0x00050e5a
TEST AL,AL
JNZ 0x000513fa
MOV ESI,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x28],ECX
MOV EDX,dword ptr [ESP + 0x18]
MOV EAX,ESI
CALL 0x0004cd50
MOV ECX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JZ 0x000511e4
MOV EAX,dword ptr [ESP + 0x14]
MOV ESI,dword ptr [EAX + 0x338]
MOV EDI,dword ptr [EAX + 0x33c]
ADD ESI,dword ptr [EAX + 0x330]
ADC EDI,dword ptr [EAX + 0x334]
MOV EAX,dword ptr [EBP + 0x2ac]
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [EBP + 0x3328]
TEST EAX,EAX
JZ 0x00050f41
MOV dword ptr [ESP + 0x4c],ECX
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfff3334a]
LEA EDX,[ESP + 0x2484]
PUSH EDX
MOV dword ptr [ESP + 0x54],EDX
PUSH 0x1000
PUSH EAX
PUSH 0x0
PUSH EDI
PUSH ESI
CALL 0x000328b0
ADD ESP,0x1c
MOV EDX,dword ptr [ESP + 0x4c]
PUSH EDX
MOV ECX,dword ptr [ESP + 0x30]
PUSH dword ptr [ECX + 0x3a4]
LEA EAX,[ECX + 0x13a8]
PUSH EAX
LEA EAX,[ECX + 0x3a8]
PUSH EAX
LEA EAX,[EBX + 0xffec75e8]
PUSH EAX
PUSH 0x1000
LEA EDX,[ESP + 0x3498]
PUSH EDX
MOV dword ptr [ESP + 0x68],EDX
CALL 0x000334e0
ADD ESP,0x18
MOV EDX,dword ptr [ESP + 0x50]
LEA EAX,[EBX + 0xffedde4e]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffec7c38]
PUSH 0xe11
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH EAX
PUSH 0x8
CALL 0x000323b0
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESP + 0x48],ECX
PUSH 0x2
PUSH 0x0
PUSH 0x0
MOV EAX,dword ptr [ESP + 0x34]
PUSH dword ptr [EAX + 0x3a4]
CALL 0x00031000
MOV dword ptr [ESP + 0x60],EAX
MOV dword ptr [ESP + 0x64],EDX
ADD ESP,0x10
TEST EDX,EDX
MOV ECX,dword ptr [ESP + 0x48]
JS 0x00051089
CMP EDI,EDX
JA 0x00050f7b
JC 0x00050fd6
CMP ESI,EAX
JBE 0x00050fd6
LEA EAX,[EBX + 0xfff2c70a]
ADD ESI,-0x1
MOV dword ptr [ESP + 0x4c],EBP
MOV EBP,ECX
ADC EDI,-0x1
MOV dword ptr [ESP + 0x48],EAX
SUB ESP,0xc
PUSH EDI
PUSH ESI
PUSH 0x1
PUSH dword ptr [ESP + 0x60]
MOV EAX,dword ptr [ESP + 0x44]
PUSH dword ptr [EAX + 0x3a4]
CALL 0x000308f0
ADD ESP,0x20
TEST EAX,EAX
JLE 0x00051079
MOV ECX,EBP
MOV EBP,dword ptr [ESP + 0x4c]
CMP EAX,0x1
JNZ 0x00051089
MOV EAX,dword ptr [ESP + 0x28]
CMP dword ptr [EAX + 0x23dc],0x0
JNZ 0x0005177b
MOV dword ptr [ESP + 0x48],ECX
PUSH 0x0
PUSH 0x0
PUSH 0x0
MOV EAX,dword ptr [ESP + 0x34]
PUSH dword ptr [EAX + 0x3a4]
CALL 0x00031000
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x48]
TEST EDX,EDX
JS 0x00051089
MOV EAX,dword ptr [ESP + 0x14]
MOV EDI,dword ptr [ESP + 0x34]
MOV ESI,dword ptr [ESP + 0x30]
MOV dword ptr [EAX + 0x320],0x1
MOV EDX,dword ptr [EAX + 0x1c]
MOV EAX,dword ptr [EAX + 0x18]
MOV ECX,EDI
LEA EAX,[EAX + EDX*0x8]
IMUL ECX,EAX
MUL ESI
ADD ECX,EDX
JZ 0x0005156f
MOV EDI,dword ptr [ESP + 0x68]
TEST EDI,EDI
JZ 0x0005103f
CMP byte ptr [ESP + 0x38],0x0
JNZ 0x0005172e
MOV ECX,0x1
MOV ESI,dword ptr [EBP + 0x3328]
TEST ESI,ESI
JNZ 0x00051487
TEST ECX,ECX
JZ 0x00051277
MOV ECX,0x1
JMP 0x00050b1b
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [EAX + 0x33c]
MOV EAX,dword ptr [EAX + 0x338]
JMP 0x00050cf5
CALL 0x000305f0
CMP dword ptr [EAX],0x4
JZ 0x00050f91
MOV ECX,EBP
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x18],ECX
MOV dword ptr [EAX + 0x320],0x0
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
MOV dword ptr [ESP],EAX
MOV ESI,EAX
PUSH dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffec5bcb]
PUSH EAX
LEA EAX,[EBX + 0xffec7605]
PUSH EAX
LEA EAX,[EBX + 0xffec7c4c]
PUSH 0x1bd
PUSH 0xf42
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH EAX
PUSH dword ptr [ESP + 0x34]
CALL 0x00032e80
ADD ESP,0x24
PUSH ESI
CALL 0x00032950
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x18]
JMP 0x00050b1b
MOV ESI,dword ptr [ESP + 0x14]
TEST dword ptr [ESI + 0x320],0xfffffffb
JNZ 0x00050cf5
PUSH ECX
PUSH EDX
PUSH EAX
PUSH 0x6
CALL 0x00030be0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x28]
TEST EAX,EAX
MOV EAX,dword ptr [ESP + 0x14]
JZ 0x00051068
CMP dword ptr [EBX + 0xd78],0x0
MOV dword ptr [ESP + 0x28],ECX
MOV EAX,dword ptr [EAX + 0x338]
MOV ESI,dword ptr [ESP + 0x14]
JLE 0x00051755
MOV dword ptr [ESI + 0x32c],0x1
SUB ESP,0xc
PUSH EAX
PUSH 0x0
PUSH 0x0
PUSH 0x2
PUSH -0x1
CALL 0x00030dd0
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x28]
MOV dword ptr [ESI + 0x39c],EAX
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [EAX + 0x39c]
TEST EDX,EDX
JZ 0x000518e9
MOV ECX,dword ptr [ESP + 0x14]
MOV dword ptr [ECX + 0x320],0x4
CMP dword ptr [ECX + 0x18],0x0
MOV dword ptr [ECX + 0x3a0],0x0
JZ 0x000511b2
MOV EAX,dword ptr [ECX + 0x1c]
MOV dword ptr [ESP + 0x20],EAX
SHL EAX,0x3
IMUL EAX,dword ptr [ESP + 0x30]
ADD EAX,EDX
MOV dword ptr [ECX + 0x3a0],EAX
CMP dword ptr [ESP + 0x68],0x0
JZ 0x000511c4
CMP dword ptr [ESP + 0x18],0x0
JNZ 0x00051918
MOV ECX,0x1
CMP dword ptr [EBP + 0x3328],0x0
JNZ 0x000517e6
MOV EAX,dword ptr [EBP]
MOV ESI,dword ptr [ESP + 0x14]
MOV dword ptr [ESI],EAX
JMP 0x00051052
MOV dword ptr [ESI + 0x320],0x0
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
MOV dword ptr [ESP],EAX
MOV ESI,EAX
PUSH dword ptr [ESP + 0x30]
LEA EAX,[EBX + 0xffec5bcb]
PUSH EAX
LEA EAX,[EBX + 0xffec75b3]
PUSH EAX
LEA EAX,[EBX + 0xffec7c4c]
PUSH 0x1bd
PUSH 0xf39
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH EAX
PUSH dword ptr [ESP + 0x34]
CALL 0x00032e80
ADD ESP,0x24
PUSH ESI
CALL 0x00032950
ADD ESP,0x10
XOR ECX,ECX
JMP 0x00050b1b
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [EAX + 0x320],0x0
LEA EAX,[EBX + 0xffec8a40]
PUSH dword ptr [ESP + 0x20]
PUSH EAX
LEA EAX,[EBX + 0xffec75d0]
PUSH EAX
PUSH 0x1bd
PUSH 0xf2b
JMP 0x00050aff
MOV EAX,dword ptr [ESP + 0x14]
MOV dword ptr [EAX + 0x320],0x0
JMP 0x00050b1b
MOV ESI,dword ptr [ESP + 0x14]
SUB ESP,0xc
MOV dword ptr [ESI + 0x23d8],EDX
ADD ESI,0x13a8
MOV dword ptr [ESI + 0xffffef78],0x2
PUSH EDX
CALL 0x0008b600
POP ECX
PUSH dword ptr [ESI + 0x1030]
MOV EDI,EAX
CALL 0x0008b590
MOV dword ptr [ESP],EDI
PUSH EAX
LEA EAX,[EBX + 0xffec75ca]
PUSH EAX
PUSH 0x1000
PUSH ESI
CALL 0x000334e0
ADD ESP,0x20
CMP dword ptr [ESP + 0x68],0x0
JZ 0x000512e6
CMP dword ptr [ESP + 0x18],0x0
JNZ 0x000517bf
MOV ECX,0x1
CMP dword ptr [EBP + 0x3328],0x0
JZ 0x00051052
MOV dword ptr [ESP + 0x28],ECX
LEA EAX,[EBX + 0xfff3334a]
PUSH ECX
PUSH ECX
LEA EDI,[ESP + 0x2484]
PUSH EDI
PUSH 0x1000
PUSH EAX
PUSH 0x0
MOV EBP,dword ptr [ESP + 0x2c]
PUSH dword ptr [EBP + 0x33c]
PUSH dword ptr [EBP + 0x338]
CALL 0x000328b0
ADD ESP,0x18
MOV dword ptr [ESP + 0x1c],EBP
PUSH dword ptr [EBP + 0x320]
PUSH 0x3
CALL 0x00033560
XOR ECX,ECX
MOV EBP,EAX
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESP + 0x1c],ECX
XOR ECX,ECX
MOV dword ptr [ESP + 0x2c],ECX
XOR ECX,ECX
MOV dword ptr [ESP + 0x34],ECX
MOV EDX,dword ptr [EAX + 0x1c]
MOV dword ptr [ESP + 0x18],EDX
MOV EDX,dword ptr [EAX + 0x14]
FILD qword ptr [ESP + 0x18]
FSTP qword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0x28],EDX
MOV EDX,dword ptr [EAX + 0x10]
FILD qword ptr [ESP + 0x28]
FSTP qword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x30],EDX
FILD qword ptr [ESP + 0x30]
FSTP qword ptr [ESP + 0x30]
POP EDX
PUSH dword ptr [EAX + 0x23d8]
CALL 0x0008b520
POP ECX
POP EDX
PUSH EDI
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESP + 0x40]
PUSH dword ptr [ESP + 0x40]
PUSH EBP
PUSH EAX
LEA EAX,[EBX + 0xffec785c]
PUSH ESI
PUSH dword ptr [ESP + 0x70]
PUSH EAX
PUSH 0x1000
LEA ESI,[ESP + 0x34b8]
PUSH ESI
CALL 0x000334e0
LEA EAX,[EBX + 0xffedde4e]
ADD ESP,0x38
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xffec7c4c]
PUSH 0xf15
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH EAX
PUSH 0x8
CALL 0x000323b0
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x28]
JMP 0x00051052
MOV ESI,dword ptr [ESP + 0x14]
CMP dword ptr [ESI + 0x324],0x3
JZ 0x00050e5a
LEA EAX,[ESI + 0x3a4]
MOV dword ptr [ESP + 0x28],ECX
CALL 0x0004cb50
MOV byte ptr [ESI + 0x13a8],0x0
MOV ECX,dword ptr [ESP + 0x28]
JMP 0x00050e5a
LEA EAX,[EBX + 0xffec7c5c]
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH 0xe49
PUSH EAX
LEA EAX,[EBX + 0xffec7452]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffec7c5c]
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH 0xe48
PUSH EAX
LEA EAX,[EBX + 0xffed1338]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xffec7c5c]
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH 0xe47
PUSH EAX
LEA EAX,[EBX + 0xffec67a5]
PUSH EAX
CALL 0x000313d0
MOV dword ptr [ESP + 0x18],ECX
PUSH EAX
PUSH EAX
LEA EAX,[EBX + 0xfff3334a]
LEA ESI,[ESP + 0x2484]
PUSH ESI
PUSH 0x1000
PUSH EAX
PUSH 0x0
MOV EDI,dword ptr [ESP + 0x2c]
PUSH dword ptr [EDI + 0x33c]
PUSH dword ptr [EDI + 0x338]
CALL 0x000328b0
ADD ESP,0x18
PUSH dword ptr [EDI + 0x320]
PUSH 0x3
CALL 0x00033560
POP EDX
POP ECX
PUSH ESI
MOV ECX,EDI
MOV ESI,dword ptr [EDI + 0x1c]
XOR EDI,EDI
MOV dword ptr [ESP + 0x18],EDI
XOR EDI,EDI
MOV dword ptr [ESP + 0x14],ESI
MOV ESI,dword ptr [ECX + 0x14]
FILD qword ptr [ESP + 0x14]
SUB ESP,0x18
MOV dword ptr [ESP + 0x30],EDI
XOR EDI,EDI
FSTP qword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x2c],ESI
MOV ESI,dword ptr [ECX + 0x10]
FILD qword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x30],EDI
FSTP qword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x2c],ESI
FILD qword ptr [ESP + 0x2c]
FSTP qword ptr [ESP]
PUSH EAX
LEA EAX,[ECX + 0x13a8]
PUSH dword ptr [ECX + 0x3a4]
PUSH EAX
LEA EAX,[EBX + 0xffec785c]
PUSH dword ptr [ESP + 0x70]
PUSH EAX
PUSH 0x1000
LEA ESI,[ESP + 0x34b8]
PUSH ESI
CALL 0x000334e0
LEA EAX,[EBX + 0xffedde4e]
ADD ESP,0x38
PUSH ESI
PUSH EAX
PUSH 0xf91
LEA EAX,[EBX + 0xffec7c4c]
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH EAX
PUSH 0x8
CALL 0x000323b0
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x18]
JMP 0x00051052
CALL 0x0029eab0
PUSH EDI
MOV EAX,dword ptr [ESP + 0x18]
PUSH dword ptr [EAX + 0x33c]
PUSH dword ptr [EAX + 0x338]
PUSH 0x5
CALL 0x00030be0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0005102c
MOV dword ptr [ESP + 0x20],EAX
SUB ESP,0xc
MOV ESI,dword ptr [ESP + 0x20]
PUSH dword ptr [ESI + 0x338]
PUSH dword ptr [ESI + 0x334]
PUSH dword ptr [ESI + 0x330]
PUSH dword ptr [ESP + 0x30]
PUSH dword ptr [ESI + 0x3a4]
CALL 0x00030dd0
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x20]
TEST EAX,EAX
MOV dword ptr [ESI + 0x39c],EAX
JZ 0x0005193f
MOV ESI,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x18],ECX
LEA EAX,[ESI + 0x3a4]
CALL 0x0004cb50
CMP dword ptr [ESI + 0x18],0x0
MOV dword ptr [ESI + 0x320],0x3
MOV dword ptr [ESI + 0x32c],0x1
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [ESI + 0x3a0],0x0
JZ 0x00051629
MOV EAX,dword ptr [ESI + 0x1c]
MOV dword ptr [ESP + 0x18],EAX
SHL EAX,0x3
IMUL EAX,dword ptr [ESP + 0x30]
ADD EAX,dword ptr [ESI + 0x39c]
MOV dword ptr [ESI + 0x3a0],EAX
CMP dword ptr [ESP + 0x68],0x0
JZ 0x0005163b
CMP byte ptr [ESP + 0x38],0x0
JNZ 0x00051979
CMP dword ptr [EBP + 0x3328],0x0
JZ 0x00051052
MOV dword ptr [ESP + 0x18],ECX
LEA EAX,[EBX + 0xfff3334a]
PUSH EBP
PUSH EBP
LEA ESI,[ESP + 0x2484]
PUSH ESI
PUSH 0x1000
PUSH EAX
PUSH 0x1
MOV EDI,dword ptr [ESP + 0x2c]
PUSH dword ptr [EDI + 0x33c]
PUSH dword ptr [EDI + 0x338]
CALL 0x000328b0
ADD ESP,0x18
PUSH dword ptr [EDI + 0x320]
PUSH 0x3
CALL 0x00033560
POP EDX
POP ECX
PUSH ESI
MOV ECX,EDI
MOV ESI,dword ptr [EDI + 0x1c]
XOR EDI,EDI
MOV dword ptr [ESP + 0x18],EDI
XOR EDI,EDI
MOV dword ptr [ESP + 0x14],ESI
MOV ESI,dword ptr [ECX + 0x14]
FILD qword ptr [ESP + 0x14]
SUB ESP,0x18
MOV dword ptr [ESP + 0x30],EDI
XOR EDI,EDI
FSTP qword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x2c],ESI
MOV ESI,dword ptr [ECX + 0x10]
FILD qword ptr [ESP + 0x2c]
MOV dword ptr [ESP + 0x30],EDI
FSTP qword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x2c],ESI
FILD qword ptr [ESP + 0x2c]
FSTP qword ptr [ESP]
PUSH EAX
LEA EAX,[ECX + 0x13a8]
PUSH dword ptr [ECX + 0x3a4]
PUSH EAX
LEA EAX,[EBX + 0xffec785c]
PUSH dword ptr [ESP + 0x70]
PUSH EAX
PUSH 0x1000
LEA ESI,[ESP + 0x34b8]
PUSH ESI
CALL 0x000334e0
LEA EAX,[EBX + 0xffedde4e]
ADD ESP,0x38
PUSH ESI
PUSH EAX
PUSH 0xf74
JMP 0x00051549
LEA EAX,[EBX + 0xffec7c5c]
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH 0xe67
PUSH EAX
LEA EAX,[EBX + 0xffec76bc]
PUSH EAX
CALL 0x000313d0
MOV ESI,dword ptr [ESP + 0x44]
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,ESI
CALL 0x0004ffc0
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,ESI
CALL 0x0004cba0
MOV ECX,dword ptr [ESP + 0x8]
JMP 0x00051044
MOV dword ptr [ESI + 0x32c],0x0
PUSH EDI
PUSH EDI
PUSH EAX
PUSH 0x1
CALL 0x000337b0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x28]
MOV dword ptr [ESI + 0x39c],EAX
JMP 0x0005116b
MOV dword ptr [ESP + 0x48],ECX
SUB ESP,0xc
MOV EAX,ESI
MOV EDX,EDI
MOV ESI,dword ptr [ESP + 0x5c]
MOV EDI,dword ptr [ESP + 0x60]
SUB EAX,ESI
SBB EDX,EDI
ADD ESI,0x1
ADC EDI,0x0
PUSH EDX
PUSH EAX
PUSH EDI
PUSH ESI
MOV EAX,dword ptr [ESP + 0x44]
PUSH dword ptr [EAX + 0x3a4]
CALL 0x00032a00
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x48]
TEST EAX,EAX
JZ 0x00050fd6
JMP 0x00051089
MOV EDI,dword ptr [ESP + 0x44]
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,EDI
CALL 0x0004ffc0
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,EDI
CALL 0x0004cba0
MOV ECX,dword ptr [ESP + 0x8]
JMP 0x000512eb
MOV dword ptr [ESP + 0x20],ECX
LEA EAX,[EBX + 0xfff3334a]
PUSH ESI
PUSH ESI
LEA ESI,[ESP + 0x2484]
PUSH ESI
PUSH 0x1000
PUSH EAX
PUSH 0x1
MOV EDI,dword ptr [ESP + 0x2c]
PUSH dword ptr [EDI + 0x33c]
PUSH dword ptr [EDI + 0x338]
CALL 0x000328b0
ADD ESP,0x18
PUSH dword ptr [EDI + 0x320]
PUSH 0x3
CALL 0x00033560
XOR EDX,EDX
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [EDI + 0x1c]
MOV dword ptr [ESP + 0x2c],EDX
XOR EDX,EDX
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [EDI + 0x14]
FILD qword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x2c],EDX
XOR EDX,EDX
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [EDI + 0x10]
FILD qword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x2c],EDX
LEA EDX,[EBX + 0xffec7553]
MOV dword ptr [ESP + 0x28],EAX
FILD qword ptr [ESP + 0x28]
ADD ESP,0x10
CMP dword ptr [EDI + 0x32c],0x0
MOV ECX,dword ptr [ESP + 0x20]
JZ 0x0005187e
FXCH ST2
LEA EDX,[EBX + 0xffec7549]
JMP 0x00051880
FXCH ST2
MOV dword ptr [ESP + 0x18],ECX
LEA EAX,[EBX + 0xffec7834]
SUB ESP,0xc
PUSH ESI
SUB ESP,0x18
FSTP qword ptr [ESP + 0x10]
FSTP qword ptr [ESP + 0x8]
FSTP qword ptr [ESP]
PUSH dword ptr [ESP + 0x30]
PUSH EDX
PUSH dword ptr [ESP + 0x70]
PUSH EAX
PUSH 0x1000
LEA ESI,[ESP + 0x34b8]
PUSH ESI
CALL 0x000334e0
LEA EAX,[EBX + 0xffedde4e]
ADD ESP,0x38
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xffec7c4c]
PUSH 0xed2
PUSH EAX
LEA EAX,[EBX + 0xffec743f]
PUSH EAX
PUSH 0x8
CALL 0x000323b0
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x18]
JMP 0x000511d6
MOV ESI,dword ptr [ESP + 0x14]
MOV EAX,dword ptr [ESP + 0x394]
MOV EDX,dword ptr [ESI + 0x33c]
MOV dword ptr [ESI + 0x32c],EAX
MOV EAX,dword ptr [ESP + 0x404]
MOV dword ptr [ESI + 0x39c],EAX
MOV EAX,dword ptr [ESI + 0x338]
JMP 0x00050cf5
MOV ESI,dword ptr [ESP + 0x44]
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,ESI
CALL 0x0004ffc0
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,ESI
CALL 0x0004cba0
MOV ECX,dword ptr [ESP + 0x8]
JMP 0x000511c9
MOV EAX,dword ptr [ESP + 0x394]
MOV ECX,dword ptr [ESP + 0x14]
MOV dword ptr [ECX + 0x32c],EAX
MOV EAX,dword ptr [ESP + 0x404]
MOV dword ptr [ECX + 0x39c],EAX
PUSH ESI
PUSH dword ptr [ECX + 0x33c]
PUSH dword ptr [ECX + 0x338]
PUSH 0x5
CALL 0x00030fd0
ADD ESP,0x10
JMP 0x0005102c
MOV ESI,dword ptr [ESP + 0x44]
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,ESI
CALL 0x0004ffc0
MOV dword ptr [ESP + 0x8],EAX
MOV EAX,ESI
CALL 0x0004cba0
MOV ECX,dword ptr [ESP + 0x8]
JMP 0x0005163b
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Removing unreachable block (ram,0x00050f77) */\n\nundefined4 __regparm3 FUN_00050840(int *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  double dVar5;\n  double dVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte bVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  ulonglong uVar25;\n  __off64_t _Var26;\n  char *pcVar27;\n  ulonglong local_4494;\n  ulonglong local_4484;\n  ulonglong local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  int local_4434 [203];\n  int local_4108;\n  int local_4098;\n  undefined4 local_4090;\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x5084b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (param_1[0xab] == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }\n  if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);\n  uVar7 = 0;\nLAB_00050b1b:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar7;\n}\n\n" comment comment (function_definition "undefined4 __regparm3 FUN_00050840(int *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  double dVar5;\n  double dVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte bVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  ulonglong uVar25;\n  __off64_t _Var26;\n  char *pcVar27;\n  ulonglong local_4494;\n  ulonglong local_4484;\n  ulonglong local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  int local_4434 [203];\n  int local_4108;\n  int local_4098;\n  undefined4 local_4090;\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x5084b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (param_1[0xab] == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }\n  if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);\n  uVar7 = 0;\nLAB_00050b1b:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar7;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00050840(int *param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(int *param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  double dVar5;\n  double dVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte bVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  ulonglong uVar25;\n  __off64_t _Var26;\n  char *pcVar27;\n  ulonglong local_4494;\n  ulonglong local_4484;\n  ulonglong local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  int local_4434 [203];\n  int local_4108;\n  int local_4098;\n  undefined4 local_4090;\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x5084b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (param_1[0xab] == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }\n  if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);\n  uVar7 = 0;\nLAB_00050b1b:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0029eab0();\n  }\n  return uVar7;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "ulonglong uVar4;" type_identifier identifier ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "ssize_t sVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "longlong lVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "ulonglong uVar25;" type_identifier identifier ;) (declaration "__off64_t _Var26;" type_identifier identifier ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "ulonglong local_4494;" type_identifier identifier ;) (declaration "ulonglong local_4484;" type_identifier identifier ;) (declaration "ulonglong local_447c;" type_identifier identifier ;) (declaration "int local_446c;" primitive_type identifier ;) (declaration "int local_4468;" primitive_type identifier ;) (declaration "uint local_444c;" type_identifier identifier ;) (declaration "int local_4448;" primitive_type identifier ;) (declaration "int local_4434 [203];" primitive_type (array_declarator "local_4434 [203]" identifier [ number_literal ]) ;) (declaration "int local_4108;" primitive_type identifier ;) (declaration "int local_4098;" primitive_type identifier ;) (declaration "undefined4 local_4090;" type_identifier identifier ;) (declaration "undefined1 local_2020 [4096];" type_identifier (array_declarator "local_2020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_1020 [4096];" type_identifier (array_declarator "local_1020 [4096]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar22 = 0;" (assignment_expression "bVar22 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x5084b;" (assignment_expression "uStack_14 = 0x5084b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }" { comment (expression_statement "__assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");" (call_expression "__assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache")" identifier (argument_list "("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache")" ( (string_literal ""image != (const Image *) NULL"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcd1] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }" if (parenthesized_expression "(param_1[0xcd1] != -0x54535255)" ( (binary_expression "param_1[0xcd1] != -0x54535255" (subscript_expression "param_1[0xcd1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xab] == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }" if (parenthesized_expression "(param_1[0xab] == 0)" ( (binary_expression "param_1[0xab] == 0" (subscript_expression "param_1[0xab]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }" { comment (expression_statement "__assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");" (call_expression "__assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache")" identifier (argument_list "("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache")" ( (string_literal ""image->cache != (Cache) NULL"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }" if (parenthesized_expression "(param_1[0xcca] == 0)" ( (binary_expression "param_1[0xcca] == 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    bVar21 = DAT_003d9d78 < 0;\n  }" { (expression_statement "bVar21 = DAT_003d9d78 < 0;" (assignment_expression "bVar21 = DAT_003d9d78 < 0" identifier = (binary_expression "DAT_003d9d78 < 0" identifier < number_literal)) ;) }) (else_clause "else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }" else (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);" (call_expression "LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6)" identifier (argument_list "(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , (binary_expression "param_1 + 0xc6" identifier + number_literal) ))) ;) (expression_statement "bVar21 = DAT_003d9d78 < 0;" (assignment_expression "bVar21 = DAT_003d9d78 < 0" identifier = (binary_expression "DAT_003d9d78 < 0" identifier < number_literal)) ;) }))) (if_statement "if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }" { (expression_statement "DAT_003d9d78 = 0;" (assignment_expression "DAT_003d9d78 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = GetPolicyValue("pixel-cache-memory");" (assignment_expression "iVar8 = GetPolicyValue("pixel-cache-memory")" identifier = (call_expression "GetPolicyValue("pixel-cache-memory")" identifier (argument_list "("pixel-cache-memory")" ( (string_literal ""pixel-cache-memory"" " string_content ") )))) ;) (if_statement "if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }" { (expression_statement "iVar8 = GetPolicyValue("cache:memory-map");" (assignment_expression "iVar8 = GetPolicyValue("cache:memory-map")" identifier = (call_expression "GetPolicyValue("cache:memory-map")" identifier (argument_list "("cache:memory-map")" ( (string_literal ""cache:memory-map"" " string_content ") )))) ;) })) (expression_statement "iVar16 = LocaleCompare(iVar8,"anonymous");" (assignment_expression "iVar16 = LocaleCompare(iVar8,"anonymous")" identifier = (call_expression "LocaleCompare(iVar8,"anonymous")" identifier (argument_list "(iVar8,"anonymous")" ( identifier , (string_literal ""anonymous"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n      DAT_003d9d78 = 1;\n    }" { (expression_statement "DAT_003d9d78 = 1;" (assignment_expression "DAT_003d9d78 = 1" identifier = number_literal) ;) })) (expression_statement "DestroyString(iVar8);" (call_expression "DestroyString(iVar8)" identifier (argument_list "(iVar8)" ( identifier ))) ;) })) (if_statement "if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }" if (parenthesized_expression "((param_1[6] == 0) || (param_1[7] == 0))" ( (binary_expression "(param_1[6] == 0) || (param_1[7] == 0)" (parenthesized_expression "(param_1[6] == 0)" ( (binary_expression "param_1[6] == 0" (subscript_expression "param_1[6]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }" { (expression_statement "pcVar27 = "NoPixelsDefinedInCache";" (assignment_expression "pcVar27 = "NoPixelsDefinedInCache"" identifier = (string_literal ""NoPixelsDefinedInCache"" " string_content ")) ;) (expression_statement "uVar11 = 0x1bd;" (assignment_expression "uVar11 = 0x1bd" identifier = number_literal) ;) (expression_statement "uVar7 = 0xe65;" (assignment_expression "uVar7 = 0xe65" identifier = number_literal) ;) }) (else_clause "else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }" else (compound_statement "{\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }" { (expression_statement "piVar15 = (int *)param_1[0xab];" (assignment_expression "piVar15 = (int *)param_1[0xab]" identifier = (cast_expression "(int *)param_1[0xab]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xab]" identifier [ number_literal ]))) ;) (if_statement "if (piVar15[0x8fe] != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }" if (parenthesized_expression "(piVar15[0x8fe] != -0x54535255)" ( (binary_expression "piVar15[0x8fe] != -0x54535255" (subscript_expression "piVar15[0x8fe]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }" { comment (expression_statement "__assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");" (call_expression "__assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache")" identifier (argument_list "("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache")" ( (string_literal ""cache_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (expression_statement "piVar1 = param_1 + 0xc6;" (assignment_expression "piVar1 = param_1 + 0xc6" identifier = (binary_expression "param_1 + 0xc6" identifier + number_literal)) ;) (if_statement "if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }" if (parenthesized_expression "(((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7]))))" ( (binary_expression "((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))" (parenthesized_expression "((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6]))" ( (binary_expression "(piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])" (parenthesized_expression "(piVar15[0x902] == 0)" ( (binary_expression "piVar15[0x902] == 0" (subscript_expression "piVar15[0x902]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((uint)piVar15[0x901] < (uint)param_1[6])" ( (binary_expression "(uint)piVar15[0x901] < (uint)param_1[6]" (cast_expression "(uint)piVar15[0x901]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[0x901]" identifier [ number_literal ])) < (cast_expression "(uint)param_1[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[6]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))" ( (parenthesized_expression "(piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7]))" ( (binary_expression "piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])" (binary_expression "piVar15[0x904] == 0" (subscript_expression "piVar15[0x904]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((uint)piVar15[0x903] < (uint)param_1[7])" ( (binary_expression "(uint)piVar15[0x903] < (uint)param_1[7]" (cast_expression "(uint)piVar15[0x903]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[0x903]" identifier [ number_literal ])) < (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }" { (expression_statement "pcVar27 = "WidthOrHeightExceedsLimit";" (assignment_expression "pcVar27 = "WidthOrHeightExceedsLimit"" identifier = (string_literal ""WidthOrHeightExceedsLimit"" " string_content ")) ;) (expression_statement "uVar11 = 0x1d1;" (assignment_expression "uVar11 = 0x1d1" identifier = number_literal) ;) (expression_statement "uVar7 = 0xe6b;" (assignment_expression "uVar7 = 0xe6b" identifier = number_literal) ;) }) (else_clause "else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }" else (compound_statement "{\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }" { (expression_statement "lVar23 = GetMagickResourceLimit(0xb);" (assignment_expression "lVar23 = GetMagickResourceLimit(0xb)" identifier = (call_expression "GetMagickResourceLimit(0xb)" identifier (argument_list "(0xb)" ( number_literal )))) ;) (if_statement "if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }" if (parenthesized_expression "(lVar23 != 0x7fffffffffffffff)" ( (binary_expression "lVar23 != 0x7fffffffffffffff" identifier != number_literal) )) (compound_statement "{\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }" { (expression_statement "uVar7 = GetImageListLength(param_1);" (assignment_expression "uVar7 = GetImageListLength(param_1)" identifier = (call_expression "GetImageListLength(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar8 = AcquireMagickResource(0xb,uVar7,0);" (assignment_expression "iVar8 = AcquireMagickResource(0xb,uVar7,0)" identifier = (call_expression "AcquireMagickResource(0xb,uVar7,0)" identifier (argument_list "(0xb,uVar7,0)" ( number_literal , identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }" { (expression_statement "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);" (call_expression "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""ListLengthExceedsLimit"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) })) (expression_statement "piVar14 = local_4434;" (assignment_expression "piVar14 = local_4434" identifier = identifier) ;) (expression_statement "piVar10 = piVar15 + 0xea;" (assignment_expression "piVar10 = piVar15 + 0xea" identifier = (binary_expression "piVar15 + 0xea" identifier + number_literal)) ;) (expression_statement "memcpy(piVar14,piVar15,0x2414);" (call_expression "memcpy(piVar14,piVar15,0x2414)" identifier (argument_list "(piVar14,piVar15,0x2414)" ( identifier , identifier , number_literal ))) ;) (expression_statement "local_4090 = 0xffffffff;" (assignment_expression "local_4090 = 0xffffffff" identifier = number_literal) ;) (expression_statement "FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);" (call_expression "FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91])" identifier (argument_list "(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91])" ( identifier , number_literal , (string_literal ""%s[%.20g]"" " string_content ") , identifier , (cast_expression "(double)(uint)param_1[0x91]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)param_1[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x91]" identifier [ number_literal ]))) ))) ;) (expression_statement "*piVar15 = *param_1;" (assignment_expression "*piVar15 = *param_1" (pointer_expression "*piVar15" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "piVar15[1] = param_1[1];" (assignment_expression "piVar15[1] = param_1[1]" (subscript_expression "piVar15[1]" identifier [ number_literal ]) = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "piVar15[2] = param_1[0xa5];" (assignment_expression "piVar15[2] = param_1[0xa5]" (subscript_expression "piVar15[2]" identifier [ number_literal ]) = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "piVar15[3] = param_1[0xce8];" (assignment_expression "piVar15[3] = param_1[0xce8]" (subscript_expression "piVar15[3]" identifier [ number_literal ]) = (subscript_expression "param_1[0xce8]" identifier [ number_literal ])) ;) (expression_statement "piVar15[5] = param_1[7];" (assignment_expression "piVar15[5] = param_1[7]" (subscript_expression "piVar15[5]" identifier [ number_literal ]) = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "piVar15[4] = param_1[6];" (assignment_expression "piVar15[4] = param_1[6]" (subscript_expression "piVar15[4]" identifier [ number_literal ]) = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "InitializePixelChannelMap(param_1);" (call_expression "InitializePixelChannelMap(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "iVar8 = param_1[0xa6];" (assignment_expression "iVar8 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "piVar17 = (int *)param_1[0xaa];" (assignment_expression "piVar17 = (int *)param_1[0xaa]" identifier = (cast_expression "(int *)param_1[0xaa]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xaa]" identifier [ number_literal ]))) ;) (expression_statement "piVar15[7] = iVar8;" (assignment_expression "piVar15[7] = iVar8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar19 = piVar15 + 8;" (assignment_expression "piVar19 = piVar15 + 8" identifier = (binary_expression "piVar15 + 8" identifier + number_literal)) ;) (for_statement "for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }" for ( (assignment_expression "iVar16 = 0xc0" identifier = number_literal) ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }" { (expression_statement "*piVar19 = *piVar17;" (assignment_expression "*piVar19 = *piVar17" (pointer_expression "*piVar19" * identifier) = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "piVar17 = piVar17 + (uint)bVar22 * -2 + 1;" (assignment_expression "piVar17 = piVar17 + (uint)bVar22 * -2 + 1" identifier = (binary_expression "piVar17 + (uint)bVar22 * -2 + 1" (binary_expression "piVar17 + (uint)bVar22 * -2" identifier + (binary_expression "(uint)bVar22 * -2" (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "piVar19 = piVar19 + (uint)bVar22 * -2 + 1;" (assignment_expression "piVar19 = piVar19 + (uint)bVar22 * -2 + 1" identifier = (binary_expression "piVar19 + (uint)bVar22 * -2 + 1" (binary_expression "piVar19 + (uint)bVar22 * -2" identifier + (binary_expression "(uint)bVar22 * -2" (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "iVar16 = param_1[0xa8];" (assignment_expression "iVar16 = param_1[0xa8]" identifier = (subscript_expression "param_1[0xa8]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = piVar15[5];" (assignment_expression "uVar2 = piVar15[5]" identifier = (subscript_expression "piVar15[5]" identifier [ number_literal ])) ;) (expression_statement "piVar15[0xc9] = param_2;" (assignment_expression "piVar15[0xc9] = param_2" (subscript_expression "piVar15[0xc9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar3 = piVar15[4];" (assignment_expression "uVar3 = piVar15[4]" identifier = (subscript_expression "piVar15[4]" identifier [ number_literal ])) ;) (expression_statement "piVar15[6] = iVar16;" (assignment_expression "piVar15[6] = iVar16" (subscript_expression "piVar15[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;" (assignment_expression "uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2" identifier = (binary_expression "(ulonglong)uVar3 * (ulonglong)uVar2" (cast_expression "(ulonglong)uVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (expression_statement "uVar9 = iVar16 + iVar8 * 8;" (assignment_expression "uVar9 = iVar16 + iVar8 * 8" identifier = (binary_expression "iVar16 + iVar8 * 8" identifier + (binary_expression "iVar8 * 8" identifier * number_literal))) ;) (expression_statement "local_4468 = (int)(uVar4 >> 0x20);" (assignment_expression "local_4468 = (int)(uVar4 >> 0x20)" identifier = (cast_expression "(int)(uVar4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar4 >> 0x20)" ( (binary_expression "uVar4 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_446c = (int)uVar4;" (assignment_expression "local_446c = (int)uVar4" identifier = (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);" (assignment_expression "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff)" identifier = (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff)" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (parenthesized_expression "(uVar4 & 0xffffffff)" ( (binary_expression "uVar4 & 0xffffffff" identifier & number_literal) )))) ;) (expression_statement "iVar16 = (int)lVar23;" (assignment_expression "iVar16 = (int)lVar23" identifier = (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;" (assignment_expression "iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9" identifier = (binary_expression "(int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9" (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "local_4468 * uVar9" identifier * identifier))) ;) (expression_statement "uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);" (assignment_expression "uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0)" identifier = (call_expression "FUN_0029e870(iVar16,iVar8,uVar2,0)" identifier (argument_list "(iVar16,iVar8,uVar2,0)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar9 = FUN_0029e870(uVar24,uVar9,0);" (assignment_expression "uVar9 = FUN_0029e870(uVar24,uVar9,0)" identifier = (call_expression "FUN_0029e870(uVar24,uVar9,0)" identifier (argument_list "(uVar24,uVar9,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }" if (parenthesized_expression "(((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2))" ( (binary_expression "((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)" (parenthesized_expression "((uVar3 == uVar9) && (-1 < (int)uVar3))" ( (binary_expression "(uVar3 == uVar9) && (-1 < (int)uVar3)" (parenthesized_expression "(uVar3 == uVar9)" ( (binary_expression "uVar3 == uVar9" identifier == identifier) )) && (parenthesized_expression "(-1 < (int)uVar3)" ( (binary_expression "-1 < (int)uVar3" number_literal < (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) && (parenthesized_expression "(-1 < (int)uVar2)" ( (binary_expression "-1 < (int)uVar2" number_literal < (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }" { (expression_statement "iVar18 = param_1[0xa2];" (assignment_expression "iVar18 = param_1[0xa2]" identifier = (subscript_expression "param_1[0xa2]" identifier [ number_literal ])) ;) (expression_statement "piVar15[0xce] = iVar16;" (assignment_expression "piVar15[0xce] = iVar16" (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0xcf] = iVar8;" (assignment_expression "piVar15[0xcf] = iVar8" (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (expression_statement "*piVar15 = *param_1;" (assignment_expression "*piVar15 = *param_1" (pointer_expression "*piVar15" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar8 = param_1[1];" (assignment_expression "iVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "piVar15[200] = 5;" (assignment_expression "piVar15[200] = 5" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[1] = iVar8;" (assignment_expression "piVar15[1] = iVar8" (subscript_expression "piVar15[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (expression_statement "iVar8 = AcquireMagickResource(1,uVar4);" (assignment_expression "iVar8 = AcquireMagickResource(1,uVar4)" identifier = (call_expression "AcquireMagickResource(1,uVar4)" identifier (argument_list "(1,uVar4)" ( number_literal , identifier )))) ;) (if_statement "if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }" if (parenthesized_expression "(piVar15[0xc9] == 3)" ( (binary_expression "piVar15[0xc9] == 3" (subscript_expression "piVar15[0xc9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }" { (labeled_statement "LAB_00051068:\n          iVar16 = piVar15[0xcf];" statement_identifier : (expression_statement "iVar16 = piVar15[0xcf];" (assignment_expression "iVar16 = piVar15[0xcf]" identifier = (subscript_expression "piVar15[0xcf]" identifier [ number_literal ])) ;)) (expression_statement "iVar18 = piVar15[0xce];" (assignment_expression "iVar18 = piVar15[0xce]" identifier = (subscript_expression "piVar15[0xce]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);" statement_identifier : (expression_statement "iVar8 = AcquireMagickResource(2,iVar18,iVar16);" (assignment_expression "iVar8 = AcquireMagickResource(2,iVar18,iVar16)" identifier = (call_expression "AcquireMagickResource(2,iVar18,iVar16)" identifier (argument_list "(2,iVar18,iVar16)" ( number_literal , identifier , identifier )))) ;)) (expression_statement "iVar16 = GetImageRegistry(3,"cache:hosts",param_3);" (assignment_expression "iVar16 = GetImageRegistry(3,"cache:hosts",param_3)" identifier = (call_expression "GetImageRegistry(3,"cache:hosts",param_3)" identifier (argument_list "(3,"cache:hosts",param_3)" ( number_literal , (string_literal ""cache:hosts"" " string_content ") , identifier )))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }" if (parenthesized_expression "((iVar8 == 0) && (iVar16 != 0))" ( (binary_expression "(iVar8 == 0) && (iVar16 != 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }" { (expression_statement "iVar8 = FUN_0008aed0(param_3);" (assignment_expression "iVar8 = FUN_0008aed0(param_3)" identifier = (call_expression "FUN_0008aed0(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }" { (expression_statement "iVar16 = FUN_0008b670(iVar8,param_1);" (assignment_expression "iVar16 = FUN_0008b670(iVar8,param_1)" identifier = (call_expression "FUN_0008b670(iVar8,param_1)" identifier (argument_list "(iVar8,param_1)" ( identifier , identifier )))) ;) (if_statement "if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }" { (expression_statement "piVar15[0x8f6] = iVar8;" (assignment_expression "piVar15[0x8f6] = iVar8" (subscript_expression "piVar15[0x8f6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[200] = 2;" (assignment_expression "piVar15[200] = 2" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_0008b600(iVar8);" (assignment_expression "uVar7 = FUN_0008b600(iVar8)" identifier = (call_expression "FUN_0008b600(iVar8)" identifier (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar11 = FUN_0008b590(piVar15[0x8f6]);" (assignment_expression "uVar11 = FUN_0008b590(piVar15[0x8f6])" identifier = (call_expression "FUN_0008b590(piVar15[0x8f6])" identifier (argument_list "(piVar15[0x8f6])" ( (subscript_expression "piVar15[0x8f6]" identifier [ number_literal ]) )))) ;) (expression_statement "FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);" (call_expression "FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7)" identifier (argument_list "(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7)" ( (binary_expression "piVar15 + 0x4ea" identifier + number_literal) , number_literal , (string_literal ""%s:%d"" " string_content ") , identifier , identifier ))) ;) (if_statement "if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }" if (parenthesized_expression "((local_4434[0] == 0) || (param_2 == 0))" ( (binary_expression "(local_4434[0] == 0) || (param_2 == 0)" (parenthesized_expression "(local_4434[0] == 0)" ( (binary_expression "local_4434[0] == 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                  iVar8 = 1;\n                }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }" else (compound_statement "{\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }" { (expression_statement "iVar8 = FUN_0004ffc0();" (assignment_expression "iVar8 = FUN_0004ffc0()" identifier = (call_expression "FUN_0004ffc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004cba0();" (call_expression "FUN_0004cba0()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }" if (parenthesized_expression "(param_1[0xcca] != 0)" ( (binary_expression "param_1[0xcca] != 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }" { (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8)" identifier (argument_list "(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8)" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" identifier = (call_expression "CommandOptionToMnemonic(3,piVar15[200])" identifier (argument_list "(3,piVar15[200])" ( number_literal , (subscript_expression "piVar15[200]" identifier [ number_literal ]) )))) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[7]" identifier = (cast_expression "(ulonglong)(uint)piVar15[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[7]" identifier [ number_literal ])))) ;) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[5]" identifier = (cast_expression "(ulonglong)(uint)piVar15[5]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[5]" identifier [ number_literal ])))) ;) (expression_statement "local_447c = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_447c = (ulonglong)(uint)piVar15[4]" identifier = (cast_expression "(ulonglong)(uint)piVar15[4]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[4]" identifier [ number_literal ])))) ;) (expression_statement "uVar11 = FUN_0008b520(piVar15[0x8f6]);" (assignment_expression "uVar11 = FUN_0008b520(piVar15[0x8f6])" identifier = (call_expression "FUN_0008b520(piVar15[0x8f6])" identifier (argument_list "(piVar15[0x8f6])" ( (subscript_expression "piVar15[0x8f6]" identifier [ number_literal ]) )))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020)" identifier (argument_list "(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020)" ( identifier , number_literal , (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , (binary_expression "piVar15 + 0x4ea" identifier + number_literal) , identifier , identifier , (cast_expression "(double)local_447c" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier) , identifier ))) ;) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020)" identifier (argument_list "(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) })) (goto_statement "goto LAB_00051052;" goto statement_identifier ;) })) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = GetExceptionMessage(*piVar10);" (assignment_expression "uVar11 = GetExceptionMessage(*piVar10)" identifier = (call_expression "GetExceptionMessage(*piVar10)" identifier (argument_list "(*piVar10)" ( (pointer_expression "*piVar10" * identifier) )))) ;) (expression_statement "uVar12 = FUN_0008b590(iVar8);" (assignment_expression "uVar12 = FUN_0008b590(iVar8)" identifier = (call_expression "FUN_0008b590(iVar8)" identifier (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);" (call_expression "ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToOpenPixelCache"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar11);" (call_expression "DestroyString(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (expression_statement "FUN_0008ae40(iVar8);" (call_expression "FUN_0008ae40(iVar8)" identifier (argument_list "(iVar8)" ( identifier ))) ;) })) (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);" (call_expression "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""CacheResourcesExhausted"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (if_statement "if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }" { (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar27 = "CacheResourcesExhausted";" (assignment_expression "pcVar27 = "CacheResourcesExhausted"" identifier = (string_literal ""CacheResourcesExhausted"" " string_content ")) ;) (expression_statement "uVar11 = 0x1bd;" (assignment_expression "uVar11 = 0x1bd" identifier = number_literal) ;) (expression_statement "uVar7 = 0xf2b;" (assignment_expression "uVar7 = 0xf2b" identifier = number_literal) ;) (goto_statement "goto LAB_00050aff;" goto statement_identifier ;) })) (expression_statement "bVar21 = param_2 != 0;" (assignment_expression "bVar21 = param_2 != 0" identifier = (binary_expression "param_2 != 0" identifier != number_literal)) ;) (if_statement "if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }" if (parenthesized_expression "(((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3))" ( (binary_expression "((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)" (parenthesized_expression "((local_4434[0] != 0) && (bVar21))" ( (binary_expression "(local_4434[0] != 0) && (bVar21)" (parenthesized_expression "(local_4434[0] != 0)" ( (binary_expression "local_4434[0] != 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(bVar21)" ( identifier ))) )) && (parenthesized_expression "(piVar15[0xc9] != 3)" ( (binary_expression "piVar15[0xc9] != 3" (subscript_expression "piVar15[0xc9]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }" { (expression_statement "FUN_0004cb50();" (call_expression "FUN_0004cb50()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(piVar15 + 0x4ea) = 0;" (assignment_expression "*(undefined1 *)(piVar15 + 0x4ea) = 0" (pointer_expression "*(undefined1 *)(piVar15 + 0x4ea)" * (cast_expression "(undefined1 *)(piVar15 + 0x4ea)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15 + 0x4ea)" ( (binary_expression "piVar15 + 0x4ea" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar8 = FUN_0004cd50();" (assignment_expression "iVar8 = FUN_0004cd50()" identifier = (call_expression "FUN_0004cd50()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }" { (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = GetExceptionMessage(*piVar15);" (assignment_expression "uVar7 = GetExceptionMessage(*piVar15)" identifier = (call_expression "GetExceptionMessage(*piVar15)" identifier (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);" (call_expression "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToOpenPixelCache"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar7);" (call_expression "DestroyString(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (expression_statement "iVar18 = piVar15[0xce] + piVar15[0xcc];" (assignment_expression "iVar18 = piVar15[0xce] + piVar15[0xcc]" identifier = (binary_expression "piVar15[0xce] + piVar15[0xcc]" (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) + (subscript_expression "piVar15[0xcc]" identifier [ number_literal ]))) ;) (expression_statement "iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);" (assignment_expression "iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc])" identifier = (binary_expression "piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc])" (binary_expression "piVar15[0xcf] + piVar15[0xcd]" (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) + (subscript_expression "piVar15[0xcd]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(piVar15[0xce],piVar15[0xcc])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(piVar15[0xce],piVar15[0xcc])" identifier (argument_list "(piVar15[0xce],piVar15[0xcc])" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcc]" identifier [ number_literal ]) )))))) ;) (expression_statement "iVar8 = param_1[0xab];" (assignment_expression "iVar8 = param_1[0xab]" identifier = (subscript_expression "param_1[0xab]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = param_1[0xcca];" (assignment_expression "iVar16 = param_1[0xcca]" identifier = (subscript_expression "param_1[0xcca]" identifier [ number_literal ])) ;) (if_statement "if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }" { (expression_statement "FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);" (call_expression "FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16)" identifier (argument_list "(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16)" ( identifier , identifier , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020)" identifier (argument_list "(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020)" ( identifier , number_literal , (string_literal ""extend %s (%s[%d], disk, %s)"" " string_content ") , (binary_expression "iVar8 + 0x3a8" identifier + number_literal) , (binary_expression "iVar8 + 0x13a8" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar8 + 0x3a4)" * (cast_expression "(undefined4 *)(iVar8 + 0x3a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020)" identifier (argument_list "(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""SetPixelCacheExtent"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) })) (expression_statement "uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);" (assignment_expression "uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2)" identifier = (call_expression "lseek64(*(int *)(iVar8 + 0x3a4),0,2)" identifier (argument_list "(*(int *)(iVar8 + 0x3a4),0,2)" ( (pointer_expression "*(int *)(iVar8 + 0x3a4)" * (cast_expression "(int *)(iVar8 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , number_literal , number_literal )))) ;) (if_statement "if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }" if (parenthesized_expression "(-1 < (longlong)uVar25)" ( (binary_expression "-1 < (longlong)uVar25" number_literal < (cast_expression "(longlong)uVar25" ( (type_descriptor "longlong" type_identifier) ) identifier)) )) (compound_statement "{\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }" { (if_statement "if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }" if (parenthesized_expression "(uVar25 < CONCAT44(iVar20,iVar18))" ( (binary_expression "uVar25 < CONCAT44(iVar20,iVar18)" identifier < (call_expression "CONCAT44(iVar20,iVar18)" identifier (argument_list "(iVar20,iVar18)" ( identifier , identifier )))) )) (compound_statement "{\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }" { (expression_statement "uVar9 = iVar18 - 1;" (assignment_expression "uVar9 = iVar18 - 1" identifier = (binary_expression "iVar18 - 1" identifier - number_literal)) ;) (expression_statement "iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);" (assignment_expression "iVar16 = iVar20 + -1 + (uint)(iVar18 != 0)" identifier = (binary_expression "iVar20 + -1 + (uint)(iVar18 != 0)" (binary_expression "iVar20 + -1" identifier + number_literal) + (call_expression "(uint)(iVar18 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) ))))) ;) (do_statement "do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);" do (compound_statement "{\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              }" { (expression_statement "sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));" (assignment_expression "sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9))" identifier = (call_expression "pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9))" identifier (argument_list "(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9))" ( (pointer_expression "*(int *)(iVar8 + 0x3a4)" * (cast_expression "(int *)(iVar8 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , (pointer_expression "&DAT_0030570a" & identifier) , number_literal , (call_expression "CONCAT44(iVar16,uVar9)" identifier (argument_list "(iVar16,uVar9)" ( identifier , identifier ))) )))) ;) (if_statement "if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }" if (parenthesized_expression "(0 < sVar13)" ( (binary_expression "0 < sVar13" number_literal < identifier) )) (compound_statement "{\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }" { (if_statement "if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }" if (parenthesized_expression "(sVar13 == 1)" ( (binary_expression "sVar13 == 1" identifier == number_literal) )) (compound_statement "{\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }" { (if_statement "if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;" if (parenthesized_expression "(*(int *)(iVar8 + 0x23dc) == 0)" ( (binary_expression "*(int *)(iVar8 + 0x23dc) == 0" (pointer_expression "*(int *)(iVar8 + 0x23dc)" * (cast_expression "(int *)(iVar8 + 0x23dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x23dc)" ( (binary_expression "iVar8 + 0x23dc" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00050fd6;" goto statement_identifier ;)) (expression_statement "local_444c = (uint)uVar25;" (assignment_expression "local_444c = (uint)uVar25" identifier = (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_4448 = (int)(uVar25 >> 0x20);" (assignment_expression "local_4448 = (int)(uVar25 >> 0x20)" identifier = (cast_expression "(int)(uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar25 >> 0x20)" ( (binary_expression "uVar25 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));" (assignment_expression "iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c))" identifier = (call_expression "posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c))" identifier (argument_list "(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c))" ( (pointer_expression "*(int *)(iVar8 + 0x3a4)" * (cast_expression "(int *)(iVar8 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , (call_expression "CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1)" identifier (argument_list "(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1)" ( (binary_expression "local_4448 + (uint)(0xfffffffe < local_444c)" identifier + (call_expression "(uint)(0xfffffffe < local_444c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < local_444c)" ( (binary_expression "0xfffffffe < local_444c" number_literal < identifier) )))) , (binary_expression "local_444c + 1" identifier + number_literal) ))) , (call_expression "CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c)" identifier (argument_list "((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c)" ( (binary_expression "(iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c)" (parenthesized_expression "(iVar16 - local_4448)" ( (binary_expression "iVar16 - local_4448" identifier - identifier) )) - (call_expression "(uint)(uVar9 < local_444c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_444c)" ( (binary_expression "uVar9 < local_444c" identifier < identifier) )))) , (binary_expression "uVar9 - local_444c" identifier - identifier) ))) )))) ;) (if_statement "if (iVar16 == 0) goto LAB_00050fd6;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00050fd6;" goto statement_identifier ;)) })) (break_statement "break;" break ;) })) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) }) while (parenthesized_expression "(*piVar14 == 4)" ( (binary_expression "*piVar14 == 4" (pointer_expression "*piVar14" * identifier) == number_literal) )) ;) }) (else_clause "else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }" else (compound_statement "{\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }" { (labeled_statement "LAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);" statement_identifier : (expression_statement "_Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);" (assignment_expression "_Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0)" identifier = (call_expression "lseek64(*(int *)(iVar8 + 0x3a4),0,0)" identifier (argument_list "(*(int *)(iVar8 + 0x3a4),0,0)" ( (pointer_expression "*(int *)(iVar8 + 0x3a4)" * (cast_expression "(int *)(iVar8 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , number_literal , number_literal )))) ;)) (if_statement "if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }" if (parenthesized_expression "(-1 < _Var26)" ( (binary_expression "-1 < _Var26" number_literal < identifier) )) (compound_statement "{\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }" { (expression_statement "piVar15[200] = 1;" (assignment_expression "piVar15[200] = 1" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar9 = piVar15[6] + piVar15[7] * 8;" (assignment_expression "uVar9 = piVar15[6] + piVar15[7] * 8" identifier = (binary_expression "piVar15[6] + piVar15[7] * 8" (subscript_expression "piVar15[6]" identifier [ number_literal ]) + (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);" (assignment_expression "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff)" identifier = (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff)" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (parenthesized_expression "(uVar4 & 0xffffffff)" ( (binary_expression "uVar4 & 0xffffffff" identifier & number_literal) )))) ;) (expression_statement "iVar16 = (int)lVar23;" (assignment_expression "iVar16 = (int)lVar23" identifier = (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }" if (parenthesized_expression "((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0))" ( (binary_expression "(local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)" (parenthesized_expression "(local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0)" ( (binary_expression "local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0" (binary_expression "local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20)" (binary_expression "local_4468 * uVar9" identifier * identifier) + (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) == number_literal) )) && (parenthesized_expression "(iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)" ( (comma_expression "iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0" (assignment_expression "iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468)" identifier = (call_expression "AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468)" identifier (argument_list "(5,piVar15[0xce],piVar15[0xcf],local_4468)" ( number_literal , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar16 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }" { (expression_statement "iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);" (assignment_expression "iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce])" identifier = (call_expression "MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce])" identifier (argument_list "(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce])" ( (subscript_expression "piVar15[0xe9]" identifier [ number_literal ]) , identifier , (subscript_expression "piVar15[0xcc]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcd]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar15[0xe7] = iVar8;" (assignment_expression "piVar15[0xe7] = iVar8" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }" { (expression_statement "piVar15[0xcb] = local_4108;" (assignment_expression "piVar15[0xcb] = local_4108" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0xe7] = local_4098;" (assignment_expression "piVar15[0xe7] = local_4098" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);" (assignment_expression "iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15)" identifier = (call_expression "RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15)" identifier (argument_list "(5,piVar15[0xce],piVar15[0xcf],piVar15)" ( number_literal , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , identifier )))) ;) (goto_statement "goto LAB_0005102c;" goto statement_identifier ;) })) (expression_statement "FUN_0004cb50();" (call_expression "FUN_0004cb50()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar15[200] = 3;" (assignment_expression "piVar15[200] = 3" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[0xcb] = 1;" (assignment_expression "piVar15[0xcb] = 1" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[0xe8] = 0;" (assignment_expression "piVar15[0xe8] = 0" (subscript_expression "piVar15[0xe8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }" if (parenthesized_expression "(piVar15[6] != 0)" ( (binary_expression "piVar15[6] != 0" (subscript_expression "piVar15[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }" { (expression_statement "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];" (assignment_expression "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7]" (subscript_expression "piVar15[0xe8]" identifier [ number_literal ]) = (binary_expression "piVar15[7] * 8 * local_446c + piVar15[0xe7]" (binary_expression "piVar15[7] * 8 * local_446c" (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) * number_literal) * identifier) + (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]))) ;) })) (if_statement "if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }" if (parenthesized_expression "((local_4434[0] != 0) && (bVar21))" ( (binary_expression "(local_4434[0] != 0) && (bVar21)" (parenthesized_expression "(local_4434[0] != 0)" ( (binary_expression "local_4434[0] != 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(bVar21)" ( identifier ))) )) (compound_statement "{\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }" { (expression_statement "iVar16 = FUN_0004ffc0();" (assignment_expression "iVar16 = FUN_0004ffc0()" identifier = (call_expression "FUN_0004ffc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004cba0();" (call_expression "FUN_0004cba0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar8 = iVar16;" (assignment_expression "iVar8 = iVar16" identifier = identifier) ;) (if_statement "if (param_1[0xcca] == 0) goto LAB_00051052;" if (parenthesized_expression "(param_1[0xcca] == 0)" ( (binary_expression "param_1[0xcca] == 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00051052;" goto statement_identifier ;)) (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1)" identifier (argument_list "(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1)" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" identifier = (call_expression "CommandOptionToMnemonic(3,piVar15[200])" identifier (argument_list "(3,piVar15[200])" ( number_literal , (subscript_expression "piVar15[200]" identifier [ number_literal ]) )))) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[7]" identifier = (cast_expression "(ulonglong)(uint)piVar15[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[7]" identifier [ number_literal ])))) ;) (expression_statement "dVar5 = (double)local_4494;" (assignment_expression "dVar5 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[5]" identifier = (cast_expression "(ulonglong)(uint)piVar15[5]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[5]" identifier [ number_literal ])))) ;) (expression_statement "dVar6 = (double)local_4494;" (assignment_expression "dVar6 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[4]" identifier = (cast_expression "(ulonglong)(uint)piVar15[4]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[4]" identifier [ number_literal ])))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" identifier (argument_list "(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" ( identifier , number_literal , (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , (binary_expression "piVar15 + 0x4ea" identifier + number_literal) , (subscript_expression "piVar15[0xe9]" identifier [ number_literal ]) , identifier , (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = 0xf74;" (assignment_expression "uVar7 = 0xf74" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }" else (compound_statement "{\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }" { (labeled_statement "LAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" statement_identifier : (if_statement "if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" if (parenthesized_expression "((local_4434[0] == 0) || (!bVar21))" ( (binary_expression "(local_4434[0] == 0) || (!bVar21)" (parenthesized_expression "(local_4434[0] == 0)" ( (binary_expression "local_4434[0] == 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) ))) )) (compound_statement "{\n                    iVar8 = 1;\n                  }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" else (compound_statement "{\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" { (expression_statement "iVar8 = FUN_0004ffc0();" (assignment_expression "iVar8 = FUN_0004ffc0()" identifier = (call_expression "FUN_0004ffc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar16 = FUN_0004cba0();" (assignment_expression "iVar16 = FUN_0004cba0()" identifier = (call_expression "FUN_0004cba0()" identifier (argument_list "()" ( )))) ;) })))) (if_statement "if (param_1[0xcca] == 0) goto LAB_00051052;" if (parenthesized_expression "(param_1[0xcca] == 0)" ( (binary_expression "param_1[0xcca] == 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00051052;" goto statement_identifier ;)) (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16)" identifier (argument_list "(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16)" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" identifier = (call_expression "CommandOptionToMnemonic(3,piVar15[200])" identifier (argument_list "(3,piVar15[200])" ( number_literal , (subscript_expression "piVar15[200]" identifier [ number_literal ]) )))) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[7]" identifier = (cast_expression "(ulonglong)(uint)piVar15[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[7]" identifier [ number_literal ])))) ;) (expression_statement "dVar5 = (double)local_4494;" (assignment_expression "dVar5 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[5]" identifier = (cast_expression "(ulonglong)(uint)piVar15[5]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[5]" identifier [ number_literal ])))) ;) (expression_statement "dVar6 = (double)local_4494;" (assignment_expression "dVar6 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[4]" identifier = (cast_expression "(ulonglong)(uint)piVar15[4]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[4]" identifier [ number_literal ])))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" identifier (argument_list "(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" ( identifier , number_literal , (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , (binary_expression "piVar15 + 0x4ea" identifier + number_literal) , (subscript_expression "piVar15[0xe9]" identifier [ number_literal ]) , identifier , (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = 0xf91;" (assignment_expression "uVar7 = 0xf91" identifier = number_literal) ;) (expression_statement "iVar16 = iVar8;" (assignment_expression "iVar16 = iVar8" identifier = identifier) ;) }))) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020)" identifier (argument_list "(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , identifier , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) (expression_statement "iVar8 = iVar16;" (assignment_expression "iVar8 = iVar16" identifier = identifier) ;) (goto_statement "goto LAB_00051052;" goto statement_identifier ;) })) }))) })) (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = GetExceptionMessage(*piVar15);" (assignment_expression "uVar11 = GetExceptionMessage(*piVar15)" identifier = (call_expression "GetExceptionMessage(*piVar15)" identifier (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);" (call_expression "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToExtendCache"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar11);" (call_expression "DestroyString(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) }) (else_clause "else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }" else (compound_statement "{\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }" { (expression_statement "uVar9 = piVar15[6] + piVar15[7] * 8;" (assignment_expression "uVar9 = piVar15[6] + piVar15[7] * 8" identifier = (binary_expression "piVar15[6] + piVar15[7] * 8" (subscript_expression "piVar15[6]" identifier [ number_literal ]) + (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar16 = piVar15[0xcf];" (assignment_expression "iVar16 = piVar15[0xcf]" identifier = (subscript_expression "piVar15[0xcf]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = piVar15[0xce];" (assignment_expression "iVar18 = piVar15[0xce]" identifier = (subscript_expression "piVar15[0xce]" identifier [ number_literal ])) ;) (if_statement "if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;" if (parenthesized_expression "(((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0))" ( (binary_expression "((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)" (parenthesized_expression "((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0))" ( (binary_expression "(iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)" ( (binary_expression "local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0" (binary_expression "local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20)" (binary_expression "local_4468 * uVar9" identifier * identifier) + (cast_expression "(int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20)" ( (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20" (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff)" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (parenthesized_expression "(uVar4 & 0xffffffff)" ( (binary_expression "uVar4 & 0xffffffff" identifier & number_literal) ))) >> number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "((piVar15[200] & 0xfffffffbU) != 0)" ( (binary_expression "(piVar15[200] & 0xfffffffbU) != 0" (parenthesized_expression "(piVar15[200] & 0xfffffffbU)" ( (binary_expression "piVar15[200] & 0xfffffffbU" (subscript_expression "piVar15[200]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_00050cf5;" goto statement_identifier ;)) (expression_statement "iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);" (assignment_expression "iVar16 = AcquireMagickResource(6,iVar18,iVar16,0)" identifier = (call_expression "AcquireMagickResource(6,iVar18,iVar16,0)" identifier (argument_list "(6,iVar18,iVar16,0)" ( number_literal , identifier , identifier , number_literal )))) ;) (if_statement "if (iVar16 == 0) goto LAB_00051068;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00051068;" goto statement_identifier ;)) (if_statement "if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }" if (parenthesized_expression "(DAT_003d9d78 < 1)" ( (binary_expression "DAT_003d9d78 < 1" identifier < number_literal) )) (compound_statement "{\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }" { (expression_statement "piVar15[0xcb] = 0;" (assignment_expression "piVar15[0xcb] = 0" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);" (assignment_expression "iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8)" identifier = (call_expression "AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8)" identifier (argument_list "(1,piVar15[0xce],iVar8,iVar8)" ( number_literal , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , identifier , identifier )))) ;) (expression_statement "piVar15[0xe7] = iVar8;" (assignment_expression "piVar15[0xe7] = iVar8" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }" else (compound_statement "{\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }" { (expression_statement "piVar15[0xcb] = 1;" (assignment_expression "piVar15[0xcb] = 1" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);" (assignment_expression "iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce])" identifier = (call_expression "MapBlob(0xffffffff,2,0,0,piVar15[0xce])" identifier (argument_list "(0xffffffff,2,0,0,piVar15[0xce])" ( number_literal , number_literal , number_literal , number_literal , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar15[0xe7] = iVar8;" (assignment_expression "piVar15[0xe7] = iVar8" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }" if (parenthesized_expression "(piVar15[0xe7] == 0)" ( (binary_expression "piVar15[0xe7] == 0" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }" { (expression_statement "iVar16 = piVar15[0xcf];" (assignment_expression "iVar16 = piVar15[0xcf]" identifier = (subscript_expression "piVar15[0xcf]" identifier [ number_literal ])) ;) (expression_statement "piVar15[0xcb] = local_4108;" (assignment_expression "piVar15[0xcb] = local_4108" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0xe7] = local_4098;" (assignment_expression "piVar15[0xe7] = local_4098" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar18 = piVar15[0xce];" (assignment_expression "iVar18 = piVar15[0xce]" identifier = (subscript_expression "piVar15[0xce]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00050cf5;" goto statement_identifier ;) })) (expression_statement "piVar15[200] = 4;" (assignment_expression "piVar15[200] = 4" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[0xe8] = 0;" (assignment_expression "piVar15[0xe8] = 0" (subscript_expression "piVar15[0xe8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }" if (parenthesized_expression "(piVar15[6] != 0)" ( (binary_expression "piVar15[6] != 0" (subscript_expression "piVar15[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }" { (expression_statement "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];" (assignment_expression "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7]" (subscript_expression "piVar15[0xe8]" identifier [ number_literal ]) = (binary_expression "piVar15[7] * 8 * local_446c + piVar15[0xe7]" (binary_expression "piVar15[7] * 8 * local_446c" (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) * number_literal) * identifier) + (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]))) ;) })) (if_statement "if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }" if (parenthesized_expression "((local_4434[0] == 0) || (param_2 == 0))" ( (binary_expression "(local_4434[0] == 0) || (param_2 == 0)" (parenthesized_expression "(local_4434[0] == 0)" ( (binary_expression "local_4434[0] == 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) ))) )) (compound_statement "{\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "piVar14 = piVar15;" (assignment_expression "piVar14 = piVar15" identifier = identifier) ;) }) (else_clause "else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }" else (compound_statement "{\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }" { (expression_statement "iVar8 = FUN_0004ffc0();" (assignment_expression "iVar8 = FUN_0004ffc0()" identifier = (call_expression "FUN_0004ffc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004cba0();" (call_expression "FUN_0004cba0()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }" if (parenthesized_expression "(param_1[0xcca] != 0)" ( (binary_expression "param_1[0xcca] != 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }" { (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14)" identifier (argument_list "(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14)" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" identifier = (call_expression "CommandOptionToMnemonic(3,piVar15[200])" identifier (argument_list "(3,piVar15[200])" ( number_literal , (subscript_expression "piVar15[200]" identifier [ number_literal ]) )))) ;) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[7]" identifier = (cast_expression "(ulonglong)(uint)piVar15[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[7]" identifier [ number_literal ])))) ;) (expression_statement "dVar5 = (double)local_4484;" (assignment_expression "dVar5 = (double)local_4484" identifier = (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[5]" identifier = (cast_expression "(ulonglong)(uint)piVar15[5]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[5]" identifier [ number_literal ])))) ;) (expression_statement "dVar6 = (double)local_4484;" (assignment_expression "dVar6 = (double)local_4484" identifier = (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pcVar27 = "Heap";" (assignment_expression "pcVar27 = "Heap"" identifier = (string_literal ""Heap"" " string_content ")) ;) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[4]" identifier = (cast_expression "(ulonglong)(uint)piVar15[4]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[4]" identifier [ number_literal ])))) ;) (if_statement "if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }" if (parenthesized_expression "(piVar15[0xcb] != 0)" ( (binary_expression "piVar15[0xcb] != 0" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              pcVar27 = "Anonymous";\n            }" { (expression_statement "pcVar27 = "Anonymous";" (assignment_expression "pcVar27 = "Anonymous"" identifier = (string_literal ""Anonymous"" " string_content ")) ;) })) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020)" identifier (argument_list "(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020)" ( identifier , number_literal , (string_literal ""open %s (%s %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , identifier , identifier , (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , identifier , identifier ))) ;) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020)" identifier (argument_list "(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) })) (expression_statement "*piVar15 = *param_1;" (assignment_expression "*piVar15 = *param_1" (pointer_expression "*piVar15" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (labeled_statement "LAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }" statement_identifier : (if_statement "if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }" { (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar7 = 1;\n          }" else (compound_statement "{\n            uVar7 = 1;\n          }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) })))) }))) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (expression_statement "pcVar27 = "PixelCacheAllocationFailed";" (assignment_expression "pcVar27 = "PixelCacheAllocationFailed"" identifier = (string_literal ""PixelCacheAllocationFailed"" " string_content ")) ;) (expression_statement "uVar11 = 400;" (assignment_expression "uVar11 = 400" identifier = number_literal) ;) (expression_statement "uVar7 = 0xe8c;" (assignment_expression "uVar7 = 0xe8c" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);" statement_identifier : (expression_statement "ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);" (call_expression "ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0xc6" identifier + number_literal) ))) ;)) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00050b1b:\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 uVar7;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Removing unreachable block (ram,0x00050f77) */\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 "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "LogEventType": Some values do not have unique names */\n\nMagickBooleanType __regparm3 OpenPixelCache(Image *image,MapMode mode,ExceptionInfo *exception)\n\n{\n  int iVar1;\n  CacheInfo *clone_info;\n  size_t sVar2;\n  uint uVar3;\n  uint uVar4;\n  ColorspaceType CVar5;\n  ulonglong size;\n  longlong lVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  size_t sVar10;\n  MagickBooleanType MVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  MagickBooleanType MVar15;\n  void *pvVar16;\n  DistributeCacheInfo *server_info;\n  int *piVar17;\n  char *pcVar18;\n  char *pcVar19;\n  ssize_t sVar20;\n  CacheInfo *pCVar21;\n  char *pcVar22;\n  Quantum *pQVar23;\n  CacheInfo *pCVar24;\n  int iVar25;\n  CacheInfo *pCVar26;\n  PixelChannelMap *pPVar27;\n  PixelChannelMap *pPVar28;\n  int iVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  byte bVar31;\n  MagickSizeType MVar32;\n  undefined8 uVar33;\n  ulonglong uVar34;\n  __off64_t _Var35;\n  ExceptionType severity;\n  CacheType type;\n  Image *pIVar36;\n  undefined8 local_4494;\n  undefined8 local_4484;\n  undefined8 local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  CacheInfo source_info;\n  char format [4096];\n  char message [4096];\n  \n  bVar31 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (image->cache == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (image->debug == MagickFalse) {\n    bVar30 = cache_anonymous_memory < 0;\n  }\n  else {\n    LogMagickEvent(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename);\n    bVar30 = cache_anonymous_memory < 0;\n  }\n  if (bVar30) {\n    cache_anonymous_memory = 0;\n    pcVar22 = GetPolicyValue("pixel-cache-memory");\n    if (pcVar22 == (char *)0x0) {\n      pcVar22 = GetPolicyValue("cache:memory-map");\n    }\n    iVar25 = LocaleCompare(pcVar22,"anonymous");\n    if (iVar25 == 0) {\n      cache_anonymous_memory = 1;\n    }\n    DestroyString(pcVar22);\n  }\n  if ((image->columns == 0) || (image->rows == 0)) {\n    pcVar22 = "NoPixelsDefinedInCache";\n    severity = CacheError;\n    sVar10 = 0xe65;\n  }\n  else {\n    clone_info = (CacheInfo *)image->cache;\n    if (clone_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    pcVar22 = image->filename;\n    if (((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)) ||\n       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)))) {\n      pcVar22 = "WidthOrHeightExceedsLimit";\n      severity = ImageError;\n      sVar10 = 0xe6b;\n    }\n    else {\n      MVar32 = GetMagickResourceLimit(ListLengthResource);\n      if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }\n      pCVar24 = &source_info;\n      pcVar18 = clone_info->filename;\n      memcpy(pCVar24,clone_info,0x2414);\n      source_info.file = -1;\n      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));\n      clone_info->storage_class = image->storage_class;\n      clone_info->colorspace = image->colorspace;\n      clone_info->alpha_trait = image->alpha_trait;\n      clone_info->channels = image->channels;\n      clone_info->rows = image->rows;\n      clone_info->columns = image->columns;\n      InitializePixelChannelMap(image);\n      sVar10 = image->number_channels;\n      pPVar27 = image->channel_map;\n      clone_info->number_channels = sVar10;\n      pPVar28 = clone_info->channel_map;\n      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }\n      sVar2 = image->metacontent_extent;\n      uVar3 = clone_info->rows;\n      clone_info->mode = mode;\n      uVar4 = clone_info->columns;\n      clone_info->metacontent_extent = sVar2;\n      size = (ulonglong)uVar4 * (ulonglong)uVar3;\n      uVar13 = sVar2 + sVar10 * 8;\n      local_4468 = (int)(size >> 0x20);\n      local_446c = (int)size;\n      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n      uVar12 = (undefined4)lVar6;\n      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;\n      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);\n      uVar13 = __udivdi3(uVar33,uVar13,0);\n      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar22 = "PixelCacheAllocationFailed";\n      severity = ErrorException;\n      sVar10 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","OpenPixelCache",sVar10,severity,pcVar22,"`%s\'",\n             image->filename);\n  MVar11 = MagickFalse;\nLAB_00050b1b:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar11;\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "MagickBooleanType __regparm3 OpenPixelCache(Image *image,MapMode mode,ExceptionInfo *exception)\n\n{\n  int iVar1;\n  CacheInfo *clone_info;\n  size_t sVar2;\n  uint uVar3;\n  uint uVar4;\n  ColorspaceType CVar5;\n  ulonglong size;\n  longlong lVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  size_t sVar10;\n  MagickBooleanType MVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  MagickBooleanType MVar15;\n  void *pvVar16;\n  DistributeCacheInfo *server_info;\n  int *piVar17;\n  char *pcVar18;\n  char *pcVar19;\n  ssize_t sVar20;\n  CacheInfo *pCVar21;\n  char *pcVar22;\n  Quantum *pQVar23;\n  CacheInfo *pCVar24;\n  int iVar25;\n  CacheInfo *pCVar26;\n  PixelChannelMap *pPVar27;\n  PixelChannelMap *pPVar28;\n  int iVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  byte bVar31;\n  MagickSizeType MVar32;\n  undefined8 uVar33;\n  ulonglong uVar34;\n  __off64_t _Var35;\n  ExceptionType severity;\n  CacheType type;\n  Image *pIVar36;\n  undefined8 local_4494;\n  undefined8 local_4484;\n  undefined8 local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  CacheInfo source_info;\n  char format [4096];\n  char message [4096];\n  \n  bVar31 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (image->cache == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (image->debug == MagickFalse) {\n    bVar30 = cache_anonymous_memory < 0;\n  }\n  else {\n    LogMagickEvent(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename);\n    bVar30 = cache_anonymous_memory < 0;\n  }\n  if (bVar30) {\n    cache_anonymous_memory = 0;\n    pcVar22 = GetPolicyValue("pixel-cache-memory");\n    if (pcVar22 == (char *)0x0) {\n      pcVar22 = GetPolicyValue("cache:memory-map");\n    }\n    iVar25 = LocaleCompare(pcVar22,"anonymous");\n    if (iVar25 == 0) {\n      cache_anonymous_memory = 1;\n    }\n    DestroyString(pcVar22);\n  }\n  if ((image->columns == 0) || (image->rows == 0)) {\n    pcVar22 = "NoPixelsDefinedInCache";\n    severity = CacheError;\n    sVar10 = 0xe65;\n  }\n  else {\n    clone_info = (CacheInfo *)image->cache;\n    if (clone_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    pcVar22 = image->filename;\n    if (((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)) ||\n       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)))) {\n      pcVar22 = "WidthOrHeightExceedsLimit";\n      severity = ImageError;\n      sVar10 = 0xe6b;\n    }\n    else {\n      MVar32 = GetMagickResourceLimit(ListLengthResource);\n      if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }\n      pCVar24 = &source_info;\n      pcVar18 = clone_info->filename;\n      memcpy(pCVar24,clone_info,0x2414);\n      source_info.file = -1;\n      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));\n      clone_info->storage_class = image->storage_class;\n      clone_info->colorspace = image->colorspace;\n      clone_info->alpha_trait = image->alpha_trait;\n      clone_info->channels = image->channels;\n      clone_info->rows = image->rows;\n      clone_info->columns = image->columns;\n      InitializePixelChannelMap(image);\n      sVar10 = image->number_channels;\n      pPVar27 = image->channel_map;\n      clone_info->number_channels = sVar10;\n      pPVar28 = clone_info->channel_map;\n      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }\n      sVar2 = image->metacontent_extent;\n      uVar3 = clone_info->rows;\n      clone_info->mode = mode;\n      uVar4 = clone_info->columns;\n      clone_info->metacontent_extent = sVar2;\n      size = (ulonglong)uVar4 * (ulonglong)uVar3;\n      uVar13 = sVar2 + sVar10 * 8;\n      local_4468 = (int)(size >> 0x20);\n      local_446c = (int)size;\n      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n      uVar12 = (undefined4)lVar6;\n      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;\n      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);\n      uVar13 = __udivdi3(uVar33,uVar13,0);\n      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar22 = "PixelCacheAllocationFailed";\n      severity = ErrorException;\n      sVar10 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","OpenPixelCache",sVar10,severity,pcVar22,"`%s\'",\n             image->filename);\n  MVar11 = MagickFalse;\nLAB_00050b1b:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar11;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "OpenPixelCache(Image *image,MapMode mode,ExceptionInfo *exception)" identifier (parameter_list "(Image *image,MapMode mode,ExceptionInfo *exception)" ( (parameter_declaration "Image *image" type_identifier (pointer_declarator "*image" * identifier)) , (parameter_declaration "MapMode mode" type_identifier identifier) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  CacheInfo *clone_info;\n  size_t sVar2;\n  uint uVar3;\n  uint uVar4;\n  ColorspaceType CVar5;\n  ulonglong size;\n  longlong lVar6;\n  double dVar7;\n  double dVar8;\n  double dVar9;\n  size_t sVar10;\n  MagickBooleanType MVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  undefined4 uVar14;\n  MagickBooleanType MVar15;\n  void *pvVar16;\n  DistributeCacheInfo *server_info;\n  int *piVar17;\n  char *pcVar18;\n  char *pcVar19;\n  ssize_t sVar20;\n  CacheInfo *pCVar21;\n  char *pcVar22;\n  Quantum *pQVar23;\n  CacheInfo *pCVar24;\n  int iVar25;\n  CacheInfo *pCVar26;\n  PixelChannelMap *pPVar27;\n  PixelChannelMap *pPVar28;\n  int iVar29;\n  int in_GS_OFFSET;\n  bool bVar30;\n  byte bVar31;\n  MagickSizeType MVar32;\n  undefined8 uVar33;\n  ulonglong uVar34;\n  __off64_t _Var35;\n  ExceptionType severity;\n  CacheType type;\n  Image *pIVar36;\n  undefined8 local_4494;\n  undefined8 local_4484;\n  undefined8 local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  CacheInfo source_info;\n  char format [4096];\n  char message [4096];\n  \n  bVar31 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image == (Image *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (image->cache == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (image->debug == MagickFalse) {\n    bVar30 = cache_anonymous_memory < 0;\n  }\n  else {\n    LogMagickEvent(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename);\n    bVar30 = cache_anonymous_memory < 0;\n  }\n  if (bVar30) {\n    cache_anonymous_memory = 0;\n    pcVar22 = GetPolicyValue("pixel-cache-memory");\n    if (pcVar22 == (char *)0x0) {\n      pcVar22 = GetPolicyValue("cache:memory-map");\n    }\n    iVar25 = LocaleCompare(pcVar22,"anonymous");\n    if (iVar25 == 0) {\n      cache_anonymous_memory = 1;\n    }\n    DestroyString(pcVar22);\n  }\n  if ((image->columns == 0) || (image->rows == 0)) {\n    pcVar22 = "NoPixelsDefinedInCache";\n    severity = CacheError;\n    sVar10 = 0xe65;\n  }\n  else {\n    clone_info = (CacheInfo *)image->cache;\n    if (clone_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    pcVar22 = image->filename;\n    if (((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)) ||\n       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)))) {\n      pcVar22 = "WidthOrHeightExceedsLimit";\n      severity = ImageError;\n      sVar10 = 0xe6b;\n    }\n    else {\n      MVar32 = GetMagickResourceLimit(ListLengthResource);\n      if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }\n      pCVar24 = &source_info;\n      pcVar18 = clone_info->filename;\n      memcpy(pCVar24,clone_info,0x2414);\n      source_info.file = -1;\n      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));\n      clone_info->storage_class = image->storage_class;\n      clone_info->colorspace = image->colorspace;\n      clone_info->alpha_trait = image->alpha_trait;\n      clone_info->channels = image->channels;\n      clone_info->rows = image->rows;\n      clone_info->columns = image->columns;\n      InitializePixelChannelMap(image);\n      sVar10 = image->number_channels;\n      pPVar27 = image->channel_map;\n      clone_info->number_channels = sVar10;\n      pPVar28 = clone_info->channel_map;\n      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }\n      sVar2 = image->metacontent_extent;\n      uVar3 = clone_info->rows;\n      clone_info->mode = mode;\n      uVar4 = clone_info->columns;\n      clone_info->metacontent_extent = sVar2;\n      size = (ulonglong)uVar4 * (ulonglong)uVar3;\n      uVar13 = sVar2 + sVar10 * 8;\n      local_4468 = (int)(size >> 0x20);\n      local_446c = (int)size;\n      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n      uVar12 = (undefined4)lVar6;\n      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;\n      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);\n      uVar13 = __udivdi3(uVar33,uVar13,0);\n      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar22 = "PixelCacheAllocationFailed";\n      severity = ErrorException;\n      sVar10 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","OpenPixelCache",sVar10,severity,pcVar22,"`%s\'",\n             image->filename);\n  MVar11 = MagickFalse;\nLAB_00050b1b:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return MVar11;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "CacheInfo *clone_info;" type_identifier (pointer_declarator "*clone_info" * identifier) ;) (declaration "size_t sVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "ColorspaceType CVar5;" type_identifier identifier ;) (declaration "ulonglong size;" type_identifier identifier ;) (declaration "longlong lVar6;" type_identifier identifier ;) (declaration "double dVar7;" primitive_type identifier ;) (declaration "double dVar8;" primitive_type identifier ;) (declaration "double dVar9;" primitive_type identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "MagickBooleanType MVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "MagickBooleanType MVar15;" type_identifier identifier ;) (declaration "void *pvVar16;" primitive_type (pointer_declarator "*pvVar16" * identifier) ;) (declaration "DistributeCacheInfo *server_info;" type_identifier (pointer_declarator "*server_info" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "ssize_t sVar20;" primitive_type identifier ;) (declaration "CacheInfo *pCVar21;" type_identifier (pointer_declarator "*pCVar21" * identifier) ;) (declaration "char *pcVar22;" primitive_type (pointer_declarator "*pcVar22" * identifier) ;) (declaration "Quantum *pQVar23;" type_identifier (pointer_declarator "*pQVar23" * identifier) ;) (declaration "CacheInfo *pCVar24;" type_identifier (pointer_declarator "*pCVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "CacheInfo *pCVar26;" type_identifier (pointer_declarator "*pCVar26" * identifier) ;) (declaration "PixelChannelMap *pPVar27;" type_identifier (pointer_declarator "*pPVar27" * identifier) ;) (declaration "PixelChannelMap *pPVar28;" type_identifier (pointer_declarator "*pPVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "byte bVar31;" type_identifier identifier ;) (declaration "MagickSizeType MVar32;" type_identifier identifier ;) (declaration "undefined8 uVar33;" type_identifier identifier ;) (declaration "ulonglong uVar34;" type_identifier identifier ;) (declaration "__off64_t _Var35;" type_identifier identifier ;) (declaration "ExceptionType severity;" type_identifier identifier ;) (declaration "CacheType type;" type_identifier identifier ;) (declaration "Image *pIVar36;" type_identifier (pointer_declarator "*pIVar36" * identifier) ;) (declaration "undefined8 local_4494;" type_identifier identifier ;) (declaration "undefined8 local_4484;" type_identifier identifier ;) (declaration "undefined8 local_447c;" type_identifier identifier ;) (declaration "int local_446c;" primitive_type identifier ;) (declaration "int local_4468;" primitive_type identifier ;) (declaration "uint local_444c;" type_identifier identifier ;) (declaration "int local_4448;" primitive_type identifier ;) (declaration "CacheInfo source_info;" type_identifier identifier ;) (declaration "char format [4096];" primitive_type (array_declarator "format [4096]" identifier [ number_literal ]) ;) (declaration "char message [4096];" primitive_type (array_declarator "message [4096]" identifier [ number_literal ]) ;) (expression_statement "bVar31 = 0;" (assignment_expression "bVar31 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(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 != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }" if (parenthesized_expression "(image == (Image *)0x0)" ( (binary_expression "image == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }" { comment (expression_statement "__assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");" (call_expression "__assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache")" identifier (argument_list "("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache")" ( (string_literal ""image != (const Image *) NULL"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (if_statement "if (image->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\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/cache.c",0xe48,\n                  "OpenPixelCache");\n  }" { comment (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (if_statement "if (image->cache == (void *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }" if (parenthesized_expression "(image->cache == (void *)0x0)" ( (binary_expression "image->cache == (void *)0x0" (field_expression "image->cache" identifier -> field_identifier) == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }" { comment (expression_statement "__assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");" (call_expression "__assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache")" identifier (argument_list "("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache")" ( (string_literal ""image->cache != (Cache) NULL"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (if_statement "if (image->debug == MagickFalse) {\n    bVar30 = cache_anonymous_memory < 0;\n  }\n  else {\n    LogMagickEvent(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename);\n    bVar30 = cache_anonymous_memory < 0;\n  }" if (parenthesized_expression "(image->debug == MagickFalse)" ( (binary_expression "image->debug == MagickFalse" (field_expression "image->debug" identifier -> field_identifier) == identifier) )) (compound_statement "{\n    bVar30 = cache_anonymous_memory < 0;\n  }" { (expression_statement "bVar30 = cache_anonymous_memory < 0;" (assignment_expression "bVar30 = cache_anonymous_memory < 0" identifier = (binary_expression "cache_anonymous_memory < 0" identifier < number_literal)) ;) }) (else_clause "else {\n    LogMagickEvent(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename);\n    bVar30 = cache_anonymous_memory < 0;\n  }" else (compound_statement "{\n    LogMagickEvent(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename);\n    bVar30 = cache_anonymous_memory < 0;\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename);" (call_expression "LogMagickEvent(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename)" identifier (argument_list "(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",image->filename)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;) (expression_statement "bVar30 = cache_anonymous_memory < 0;" (assignment_expression "bVar30 = cache_anonymous_memory < 0" identifier = (binary_expression "cache_anonymous_memory < 0" identifier < number_literal)) ;) }))) (if_statement "if (bVar30) {\n    cache_anonymous_memory = 0;\n    pcVar22 = GetPolicyValue("pixel-cache-memory");\n    if (pcVar22 == (char *)0x0) {\n      pcVar22 = GetPolicyValue("cache:memory-map");\n    }\n    iVar25 = LocaleCompare(pcVar22,"anonymous");\n    if (iVar25 == 0) {\n      cache_anonymous_memory = 1;\n    }\n    DestroyString(pcVar22);\n  }" if (parenthesized_expression "(bVar30)" ( identifier )) (compound_statement "{\n    cache_anonymous_memory = 0;\n    pcVar22 = GetPolicyValue("pixel-cache-memory");\n    if (pcVar22 == (char *)0x0) {\n      pcVar22 = GetPolicyValue("cache:memory-map");\n    }\n    iVar25 = LocaleCompare(pcVar22,"anonymous");\n    if (iVar25 == 0) {\n      cache_anonymous_memory = 1;\n    }\n    DestroyString(pcVar22);\n  }" { (expression_statement "cache_anonymous_memory = 0;" (assignment_expression "cache_anonymous_memory = 0" identifier = number_literal) ;) (expression_statement "pcVar22 = GetPolicyValue("pixel-cache-memory");" (assignment_expression "pcVar22 = GetPolicyValue("pixel-cache-memory")" identifier = (call_expression "GetPolicyValue("pixel-cache-memory")" identifier (argument_list "("pixel-cache-memory")" ( (string_literal ""pixel-cache-memory"" " string_content ") )))) ;) (if_statement "if (pcVar22 == (char *)0x0) {\n      pcVar22 = GetPolicyValue("cache:memory-map");\n    }" if (parenthesized_expression "(pcVar22 == (char *)0x0)" ( (binary_expression "pcVar22 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar22 = GetPolicyValue("cache:memory-map");\n    }" { (expression_statement "pcVar22 = GetPolicyValue("cache:memory-map");" (assignment_expression "pcVar22 = GetPolicyValue("cache:memory-map")" identifier = (call_expression "GetPolicyValue("cache:memory-map")" identifier (argument_list "("cache:memory-map")" ( (string_literal ""cache:memory-map"" " string_content ") )))) ;) })) (expression_statement "iVar25 = LocaleCompare(pcVar22,"anonymous");" (assignment_expression "iVar25 = LocaleCompare(pcVar22,"anonymous")" identifier = (call_expression "LocaleCompare(pcVar22,"anonymous")" identifier (argument_list "(pcVar22,"anonymous")" ( identifier , (string_literal ""anonymous"" " string_content ") )))) ;) (if_statement "if (iVar25 == 0) {\n      cache_anonymous_memory = 1;\n    }" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (compound_statement "{\n      cache_anonymous_memory = 1;\n    }" { (expression_statement "cache_anonymous_memory = 1;" (assignment_expression "cache_anonymous_memory = 1" identifier = number_literal) ;) })) (expression_statement "DestroyString(pcVar22);" (call_expression "DestroyString(pcVar22)" identifier (argument_list "(pcVar22)" ( identifier ))) ;) })) (if_statement "if ((image->columns == 0) || (image->rows == 0)) {\n    pcVar22 = "NoPixelsDefinedInCache";\n    severity = CacheError;\n    sVar10 = 0xe65;\n  }\n  else {\n    clone_info = (CacheInfo *)image->cache;\n    if (clone_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    pcVar22 = image->filename;\n    if (((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)) ||\n       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)))) {\n      pcVar22 = "WidthOrHeightExceedsLimit";\n      severity = ImageError;\n      sVar10 = 0xe6b;\n    }\n    else {\n      MVar32 = GetMagickResourceLimit(ListLengthResource);\n      if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }\n      pCVar24 = &source_info;\n      pcVar18 = clone_info->filename;\n      memcpy(pCVar24,clone_info,0x2414);\n      source_info.file = -1;\n      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));\n      clone_info->storage_class = image->storage_class;\n      clone_info->colorspace = image->colorspace;\n      clone_info->alpha_trait = image->alpha_trait;\n      clone_info->channels = image->channels;\n      clone_info->rows = image->rows;\n      clone_info->columns = image->columns;\n      InitializePixelChannelMap(image);\n      sVar10 = image->number_channels;\n      pPVar27 = image->channel_map;\n      clone_info->number_channels = sVar10;\n      pPVar28 = clone_info->channel_map;\n      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }\n      sVar2 = image->metacontent_extent;\n      uVar3 = clone_info->rows;\n      clone_info->mode = mode;\n      uVar4 = clone_info->columns;\n      clone_info->metacontent_extent = sVar2;\n      size = (ulonglong)uVar4 * (ulonglong)uVar3;\n      uVar13 = sVar2 + sVar10 * 8;\n      local_4468 = (int)(size >> 0x20);\n      local_446c = (int)size;\n      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n      uVar12 = (undefined4)lVar6;\n      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;\n      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);\n      uVar13 = __udivdi3(uVar33,uVar13,0);\n      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar22 = "PixelCacheAllocationFailed";\n      severity = ErrorException;\n      sVar10 = 0xe8c;\n    }\n  }" if (parenthesized_expression "((image->columns == 0) || (image->rows == 0))" ( (binary_expression "(image->columns == 0) || (image->rows == 0)" (parenthesized_expression "(image->columns == 0)" ( (binary_expression "image->columns == 0" (field_expression "image->columns" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(image->rows == 0)" ( (binary_expression "image->rows == 0" (field_expression "image->rows" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n    pcVar22 = "NoPixelsDefinedInCache";\n    severity = CacheError;\n    sVar10 = 0xe65;\n  }" { (expression_statement "pcVar22 = "NoPixelsDefinedInCache";" (assignment_expression "pcVar22 = "NoPixelsDefinedInCache"" identifier = (string_literal ""NoPixelsDefinedInCache"" " string_content ")) ;) (expression_statement "severity = CacheError;" (assignment_expression "severity = CacheError" identifier = identifier) ;) (expression_statement "sVar10 = 0xe65;" (assignment_expression "sVar10 = 0xe65" identifier = number_literal) ;) }) (else_clause "else {\n    clone_info = (CacheInfo *)image->cache;\n    if (clone_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    pcVar22 = image->filename;\n    if (((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)) ||\n       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)))) {\n      pcVar22 = "WidthOrHeightExceedsLimit";\n      severity = ImageError;\n      sVar10 = 0xe6b;\n    }\n    else {\n      MVar32 = GetMagickResourceLimit(ListLengthResource);\n      if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }\n      pCVar24 = &source_info;\n      pcVar18 = clone_info->filename;\n      memcpy(pCVar24,clone_info,0x2414);\n      source_info.file = -1;\n      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));\n      clone_info->storage_class = image->storage_class;\n      clone_info->colorspace = image->colorspace;\n      clone_info->alpha_trait = image->alpha_trait;\n      clone_info->channels = image->channels;\n      clone_info->rows = image->rows;\n      clone_info->columns = image->columns;\n      InitializePixelChannelMap(image);\n      sVar10 = image->number_channels;\n      pPVar27 = image->channel_map;\n      clone_info->number_channels = sVar10;\n      pPVar28 = clone_info->channel_map;\n      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }\n      sVar2 = image->metacontent_extent;\n      uVar3 = clone_info->rows;\n      clone_info->mode = mode;\n      uVar4 = clone_info->columns;\n      clone_info->metacontent_extent = sVar2;\n      size = (ulonglong)uVar4 * (ulonglong)uVar3;\n      uVar13 = sVar2 + sVar10 * 8;\n      local_4468 = (int)(size >> 0x20);\n      local_446c = (int)size;\n      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n      uVar12 = (undefined4)lVar6;\n      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;\n      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);\n      uVar13 = __udivdi3(uVar33,uVar13,0);\n      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar22 = "PixelCacheAllocationFailed";\n      severity = ErrorException;\n      sVar10 = 0xe8c;\n    }\n  }" else (compound_statement "{\n    clone_info = (CacheInfo *)image->cache;\n    if (clone_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    pcVar22 = image->filename;\n    if (((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)) ||\n       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)))) {\n      pcVar22 = "WidthOrHeightExceedsLimit";\n      severity = ImageError;\n      sVar10 = 0xe6b;\n    }\n    else {\n      MVar32 = GetMagickResourceLimit(ListLengthResource);\n      if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }\n      pCVar24 = &source_info;\n      pcVar18 = clone_info->filename;\n      memcpy(pCVar24,clone_info,0x2414);\n      source_info.file = -1;\n      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));\n      clone_info->storage_class = image->storage_class;\n      clone_info->colorspace = image->colorspace;\n      clone_info->alpha_trait = image->alpha_trait;\n      clone_info->channels = image->channels;\n      clone_info->rows = image->rows;\n      clone_info->columns = image->columns;\n      InitializePixelChannelMap(image);\n      sVar10 = image->number_channels;\n      pPVar27 = image->channel_map;\n      clone_info->number_channels = sVar10;\n      pPVar28 = clone_info->channel_map;\n      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }\n      sVar2 = image->metacontent_extent;\n      uVar3 = clone_info->rows;\n      clone_info->mode = mode;\n      uVar4 = clone_info->columns;\n      clone_info->metacontent_extent = sVar2;\n      size = (ulonglong)uVar4 * (ulonglong)uVar3;\n      uVar13 = sVar2 + sVar10 * 8;\n      local_4468 = (int)(size >> 0x20);\n      local_446c = (int)size;\n      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n      uVar12 = (undefined4)lVar6;\n      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;\n      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);\n      uVar13 = __udivdi3(uVar33,uVar13,0);\n      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar22 = "PixelCacheAllocationFailed";\n      severity = ErrorException;\n      sVar10 = 0xe8c;\n    }\n  }" { (expression_statement "clone_info = (CacheInfo *)image->cache;" (assignment_expression "clone_info = (CacheInfo *)image->cache" identifier = (cast_expression "(CacheInfo *)image->cache" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "image->cache" identifier -> field_identifier))) ;) (if_statement "if (clone_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }" if (parenthesized_expression "(clone_info->signature != 0xabacadab)" ( (binary_expression "clone_info->signature != 0xabacadab" (field_expression "clone_info->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }" { comment (expression_statement "__assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");" (call_expression "__assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache")" identifier (argument_list "("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache")" ( (string_literal ""cache_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (expression_statement "pcVar22 = image->filename;" (assignment_expression "pcVar22 = image->filename" identifier = (field_expression "image->filename" identifier -> field_identifier)) ;) (if_statement "if (((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)) ||\n       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)))) {\n      pcVar22 = "WidthOrHeightExceedsLimit";\n      severity = ImageError;\n      sVar10 = 0xe6b;\n    }\n    else {\n      MVar32 = GetMagickResourceLimit(ListLengthResource);\n      if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }\n      pCVar24 = &source_info;\n      pcVar18 = clone_info->filename;\n      memcpy(pCVar24,clone_info,0x2414);\n      source_info.file = -1;\n      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));\n      clone_info->storage_class = image->storage_class;\n      clone_info->colorspace = image->colorspace;\n      clone_info->alpha_trait = image->alpha_trait;\n      clone_info->channels = image->channels;\n      clone_info->rows = image->rows;\n      clone_info->columns = image->columns;\n      InitializePixelChannelMap(image);\n      sVar10 = image->number_channels;\n      pPVar27 = image->channel_map;\n      clone_info->number_channels = sVar10;\n      pPVar28 = clone_info->channel_map;\n      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }\n      sVar2 = image->metacontent_extent;\n      uVar3 = clone_info->rows;\n      clone_info->mode = mode;\n      uVar4 = clone_info->columns;\n      clone_info->metacontent_extent = sVar2;\n      size = (ulonglong)uVar4 * (ulonglong)uVar3;\n      uVar13 = sVar2 + sVar10 * 8;\n      local_4468 = (int)(size >> 0x20);\n      local_446c = (int)size;\n      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n      uVar12 = (undefined4)lVar6;\n      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;\n      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);\n      uVar13 = __udivdi3(uVar33,uVar13,0);\n      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar22 = "PixelCacheAllocationFailed";\n      severity = ErrorException;\n      sVar10 = 0xe8c;\n    }" if (parenthesized_expression "(((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)) ||\n       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows))))" ( (binary_expression "((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)) ||\n       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)))" (parenthesized_expression "((*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns))" ( (binary_expression "(*(int *)((int)&clone_info->width_limit + 4) == 0) &&\n        ((uint)clone_info->width_limit < image->columns)" (parenthesized_expression "(*(int *)((int)&clone_info->width_limit + 4) == 0)" ( (binary_expression "*(int *)((int)&clone_info->width_limit + 4) == 0" (pointer_expression "*(int *)((int)&clone_info->width_limit + 4)" * (cast_expression "(int *)((int)&clone_info->width_limit + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&clone_info->width_limit + 4)" ( (binary_expression "(int)&clone_info->width_limit + 4" (cast_expression "(int)&clone_info->width_limit" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&clone_info->width_limit" & (field_expression "clone_info->width_limit" identifier -> field_identifier))) + number_literal) )))) == number_literal) )) && (parenthesized_expression "((uint)clone_info->width_limit < image->columns)" ( (binary_expression "(uint)clone_info->width_limit < image->columns" (cast_expression "(uint)clone_info->width_limit" ( (type_descriptor "uint" type_identifier) ) (field_expression "clone_info->width_limit" identifier -> field_identifier)) < (field_expression "image->columns" identifier -> field_identifier)) ))) )) || (parenthesized_expression "((*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)))" ( (parenthesized_expression "(*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows))" ( (binary_expression "*(int *)((int)&clone_info->height_limit + 4) == 0 &&\n        ((uint)clone_info->height_limit < image->rows)" (binary_expression "*(int *)((int)&clone_info->height_limit + 4) == 0" (pointer_expression "*(int *)((int)&clone_info->height_limit + 4)" * (cast_expression "(int *)((int)&clone_info->height_limit + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&clone_info->height_limit + 4)" ( (binary_expression "(int)&clone_info->height_limit + 4" (cast_expression "(int)&clone_info->height_limit" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&clone_info->height_limit" & (field_expression "clone_info->height_limit" identifier -> field_identifier))) + number_literal) )))) == number_literal) && (parenthesized_expression "((uint)clone_info->height_limit < image->rows)" ( (binary_expression "(uint)clone_info->height_limit < image->rows" (cast_expression "(uint)clone_info->height_limit" ( (type_descriptor "uint" type_identifier) ) (field_expression "clone_info->height_limit" identifier -> field_identifier)) < (field_expression "image->rows" identifier -> field_identifier)) ))) )) ))) )) (compound_statement "{\n      pcVar22 = "WidthOrHeightExceedsLimit";\n      severity = ImageError;\n      sVar10 = 0xe6b;\n    }" { (expression_statement "pcVar22 = "WidthOrHeightExceedsLimit";" (assignment_expression "pcVar22 = "WidthOrHeightExceedsLimit"" identifier = (string_literal ""WidthOrHeightExceedsLimit"" " string_content ")) ;) (expression_statement "severity = ImageError;" (assignment_expression "severity = ImageError" identifier = identifier) ;) (expression_statement "sVar10 = 0xe6b;" (assignment_expression "sVar10 = 0xe6b" identifier = number_literal) ;) }) (else_clause "else {\n      MVar32 = GetMagickResourceLimit(ListLengthResource);\n      if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }\n      pCVar24 = &source_info;\n      pcVar18 = clone_info->filename;\n      memcpy(pCVar24,clone_info,0x2414);\n      source_info.file = -1;\n      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));\n      clone_info->storage_class = image->storage_class;\n      clone_info->colorspace = image->colorspace;\n      clone_info->alpha_trait = image->alpha_trait;\n      clone_info->channels = image->channels;\n      clone_info->rows = image->rows;\n      clone_info->columns = image->columns;\n      InitializePixelChannelMap(image);\n      sVar10 = image->number_channels;\n      pPVar27 = image->channel_map;\n      clone_info->number_channels = sVar10;\n      pPVar28 = clone_info->channel_map;\n      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }\n      sVar2 = image->metacontent_extent;\n      uVar3 = clone_info->rows;\n      clone_info->mode = mode;\n      uVar4 = clone_info->columns;\n      clone_info->metacontent_extent = sVar2;\n      size = (ulonglong)uVar4 * (ulonglong)uVar3;\n      uVar13 = sVar2 + sVar10 * 8;\n      local_4468 = (int)(size >> 0x20);\n      local_446c = (int)size;\n      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n      uVar12 = (undefined4)lVar6;\n      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;\n      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);\n      uVar13 = __udivdi3(uVar33,uVar13,0);\n      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar22 = "PixelCacheAllocationFailed";\n      severity = ErrorException;\n      sVar10 = 0xe8c;\n    }" else (compound_statement "{\n      MVar32 = GetMagickResourceLimit(ListLengthResource);\n      if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }\n      pCVar24 = &source_info;\n      pcVar18 = clone_info->filename;\n      memcpy(pCVar24,clone_info,0x2414);\n      source_info.file = -1;\n      FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));\n      clone_info->storage_class = image->storage_class;\n      clone_info->colorspace = image->colorspace;\n      clone_info->alpha_trait = image->alpha_trait;\n      clone_info->channels = image->channels;\n      clone_info->rows = image->rows;\n      clone_info->columns = image->columns;\n      InitializePixelChannelMap(image);\n      sVar10 = image->number_channels;\n      pPVar27 = image->channel_map;\n      clone_info->number_channels = sVar10;\n      pPVar28 = clone_info->channel_map;\n      for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }\n      sVar2 = image->metacontent_extent;\n      uVar3 = clone_info->rows;\n      clone_info->mode = mode;\n      uVar4 = clone_info->columns;\n      clone_info->metacontent_extent = sVar2;\n      size = (ulonglong)uVar4 * (ulonglong)uVar3;\n      uVar13 = sVar2 + sVar10 * 8;\n      local_4468 = (int)(size >> 0x20);\n      local_446c = (int)size;\n      lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n      uVar12 = (undefined4)lVar6;\n      iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;\n      uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);\n      uVar13 = __udivdi3(uVar33,uVar13,0);\n      if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar22 = "PixelCacheAllocationFailed";\n      severity = ErrorException;\n      sVar10 = 0xe8c;\n    }" { (expression_statement "MVar32 = GetMagickResourceLimit(ListLengthResource);" (assignment_expression "MVar32 = GetMagickResourceLimit(ListLengthResource)" identifier = (call_expression "GetMagickResourceLimit(ListLengthResource)" identifier (argument_list "(ListLengthResource)" ( identifier )))) ;) (if_statement "if (MVar32 != 0x7fffffffffffffff) {\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }" if (parenthesized_expression "(MVar32 != 0x7fffffffffffffff)" ( (binary_expression "MVar32 != 0x7fffffffffffffff" identifier != number_literal) )) (compound_statement "{\n        sVar10 = GetImageListLength(image);\n        MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);\n        if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }\n      }" { (expression_statement "sVar10 = GetImageListLength(image);" (assignment_expression "sVar10 = GetImageListLength(image)" identifier = (call_expression "GetImageListLength(image)" identifier (argument_list "(image)" ( identifier )))) ;) (expression_statement "MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10);" (assignment_expression "MVar11 = AcquireMagickResource(ListLengthResource,(ulonglong)sVar10)" identifier = (call_expression "AcquireMagickResource(ListLengthResource,(ulonglong)sVar10)" identifier (argument_list "(ListLengthResource,(ulonglong)sVar10)" ( identifier , (cast_expression "(ulonglong)sVar10" ( (type_descriptor "ulonglong" type_identifier) ) identifier) )))) ;) (if_statement "if (MVar11 == MagickFalse) {\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }" if (parenthesized_expression "(MVar11 == MagickFalse)" ( (binary_expression "MVar11 == MagickFalse" identifier == identifier) )) (compound_statement "{\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);\n          MVar11 = MagickFalse;\n          goto LAB_00050b1b;\n        }" { (expression_statement "ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22);" (call_expression "ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22)" identifier (argument_list "(exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,\n                     "ListLengthExceedsLimit","`%s\'",pcVar22)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , identifier , (string_literal ""ListLengthExceedsLimit"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "MVar11 = MagickFalse;" (assignment_expression "MVar11 = MagickFalse" identifier = identifier) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) })) (expression_statement "pCVar24 = &source_info;" (assignment_expression "pCVar24 = &source_info" identifier = (pointer_expression "&source_info" & identifier)) ;) (expression_statement "pcVar18 = clone_info->filename;" (assignment_expression "pcVar18 = clone_info->filename" identifier = (field_expression "clone_info->filename" identifier -> field_identifier)) ;) (expression_statement "memcpy(pCVar24,clone_info,0x2414);" (call_expression "memcpy(pCVar24,clone_info,0x2414)" identifier (argument_list "(pCVar24,clone_info,0x2414)" ( identifier , identifier , number_literal ))) ;) (expression_statement "source_info.file = -1;" (assignment_expression "source_info.file = -1" (field_expression "source_info.file" identifier . field_identifier) = number_literal) ;) (expression_statement "FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20));" (call_expression "FormatLocaleString(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20))" identifier (argument_list "(pcVar18,0x1000,"%s[%.20g]",pcVar22,SUB84((double)image->scene,0),\n                         (int)((ulonglong)(double)image->scene >> 0x20))" ( identifier , number_literal , (string_literal ""%s[%.20g]"" " string_content ") , identifier , (call_expression "SUB84((double)image->scene,0)" identifier (argument_list "((double)image->scene,0)" ( (cast_expression "(double)image->scene" ( (type_descriptor "double" primitive_type) ) (field_expression "image->scene" identifier -> field_identifier)) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)image->scene >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)image->scene >> 0x20)" ( (binary_expression "(ulonglong)(double)image->scene >> 0x20" (cast_expression "(ulonglong)(double)image->scene" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)image->scene" ( (type_descriptor "double" primitive_type) ) (field_expression "image->scene" identifier -> field_identifier))) >> number_literal) ))) ))) ;) (expression_statement "clone_info->storage_class = image->storage_class;" (assignment_expression "clone_info->storage_class = image->storage_class" (field_expression "clone_info->storage_class" identifier -> field_identifier) = (field_expression "image->storage_class" identifier -> field_identifier)) ;) (expression_statement "clone_info->colorspace = image->colorspace;" (assignment_expression "clone_info->colorspace = image->colorspace" (field_expression "clone_info->colorspace" identifier -> field_identifier) = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "clone_info->alpha_trait = image->alpha_trait;" (assignment_expression "clone_info->alpha_trait = image->alpha_trait" (field_expression "clone_info->alpha_trait" identifier -> field_identifier) = (field_expression "image->alpha_trait" identifier -> field_identifier)) ;) (expression_statement "clone_info->channels = image->channels;" (assignment_expression "clone_info->channels = image->channels" (field_expression "clone_info->channels" identifier -> field_identifier) = (field_expression "image->channels" identifier -> field_identifier)) ;) (expression_statement "clone_info->rows = image->rows;" (assignment_expression "clone_info->rows = image->rows" (field_expression "clone_info->rows" identifier -> field_identifier) = (field_expression "image->rows" identifier -> field_identifier)) ;) (expression_statement "clone_info->columns = image->columns;" (assignment_expression "clone_info->columns = image->columns" (field_expression "clone_info->columns" identifier -> field_identifier) = (field_expression "image->columns" identifier -> field_identifier)) ;) (expression_statement "InitializePixelChannelMap(image);" (call_expression "InitializePixelChannelMap(image)" identifier (argument_list "(image)" ( identifier ))) ;) (expression_statement "sVar10 = image->number_channels;" (assignment_expression "sVar10 = image->number_channels" identifier = (field_expression "image->number_channels" identifier -> field_identifier)) ;) (expression_statement "pPVar27 = image->channel_map;" (assignment_expression "pPVar27 = image->channel_map" identifier = (field_expression "image->channel_map" identifier -> field_identifier)) ;) (expression_statement "clone_info->number_channels = sVar10;" (assignment_expression "clone_info->number_channels = sVar10" (field_expression "clone_info->number_channels" identifier -> field_identifier) = identifier) ;) (expression_statement "pPVar28 = clone_info->channel_map;" (assignment_expression "pPVar28 = clone_info->channel_map" identifier = (field_expression "clone_info->channel_map" identifier -> field_identifier)) ;) (for_statement "for (iVar25 = 0xc0; iVar25 != 0; iVar25 = iVar25 + -1) {\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }" for ( (assignment_expression "iVar25 = 0xc0" identifier = number_literal) ; (binary_expression "iVar25 != 0" identifier != number_literal) ; (assignment_expression "iVar25 = iVar25 + -1" identifier = (binary_expression "iVar25 + -1" identifier + number_literal)) ) (compound_statement "{\n        pPVar28->channel = pPVar27->channel;\n        pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);\n        pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);\n      }" { (expression_statement "pPVar28->channel = pPVar27->channel;" (assignment_expression "pPVar28->channel = pPVar27->channel" (field_expression "pPVar28->channel" identifier -> field_identifier) = (field_expression "pPVar27->channel" identifier -> field_identifier)) ;) (expression_statement "pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4);" (assignment_expression "pPVar27 = (PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4)" identifier = (cast_expression "(PixelChannelMap *)((int)pPVar27 + (uint)bVar31 * -8 + 4)" ( (type_descriptor "PixelChannelMap *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar27 + (uint)bVar31 * -8 + 4)" ( (binary_expression "(int)pPVar27 + (uint)bVar31 * -8 + 4" (binary_expression "(int)pPVar27 + (uint)bVar31 * -8" (cast_expression "(int)pPVar27" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar31 * -8" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4);" (assignment_expression "pPVar28 = (PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4)" identifier = (cast_expression "(PixelChannelMap *)((int)pPVar28 + (uint)bVar31 * -8 + 4)" ( (type_descriptor "PixelChannelMap *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pPVar28 + (uint)bVar31 * -8 + 4)" ( (binary_expression "(int)pPVar28 + (uint)bVar31 * -8 + 4" (binary_expression "(int)pPVar28 + (uint)bVar31 * -8" (cast_expression "(int)pPVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)bVar31 * -8" (cast_expression "(uint)bVar31" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) })) (expression_statement "sVar2 = image->metacontent_extent;" (assignment_expression "sVar2 = image->metacontent_extent" identifier = (field_expression "image->metacontent_extent" identifier -> field_identifier)) ;) (expression_statement "uVar3 = clone_info->rows;" (assignment_expression "uVar3 = clone_info->rows" identifier = (field_expression "clone_info->rows" identifier -> field_identifier)) ;) (expression_statement "clone_info->mode = mode;" (assignment_expression "clone_info->mode = mode" (field_expression "clone_info->mode" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar4 = clone_info->columns;" (assignment_expression "uVar4 = clone_info->columns" identifier = (field_expression "clone_info->columns" identifier -> field_identifier)) ;) (expression_statement "clone_info->metacontent_extent = sVar2;" (assignment_expression "clone_info->metacontent_extent = sVar2" (field_expression "clone_info->metacontent_extent" identifier -> field_identifier) = identifier) ;) (expression_statement "size = (ulonglong)uVar4 * (ulonglong)uVar3;" (assignment_expression "size = (ulonglong)uVar4 * (ulonglong)uVar3" identifier = (binary_expression "(ulonglong)uVar4 * (ulonglong)uVar3" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (expression_statement "uVar13 = sVar2 + sVar10 * 8;" (assignment_expression "uVar13 = sVar2 + sVar10 * 8" identifier = (binary_expression "sVar2 + sVar10 * 8" identifier + (binary_expression "sVar10 * 8" identifier * number_literal))) ;) (expression_statement "local_4468 = (int)(size >> 0x20);" (assignment_expression "local_4468 = (int)(size >> 0x20)" identifier = (cast_expression "(int)(size >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(size >> 0x20)" ( (binary_expression "size >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_446c = (int)size;" (assignment_expression "local_446c = (int)size" identifier = (cast_expression "(int)size" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);" (assignment_expression "lVar6 = (ulonglong)uVar13 * (size & 0xffffffff)" identifier = (binary_expression "(ulonglong)uVar13 * (size & 0xffffffff)" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (parenthesized_expression "(size & 0xffffffff)" ( (binary_expression "size & 0xffffffff" identifier & number_literal) )))) ;) (expression_statement "uVar12 = (undefined4)lVar6;" (assignment_expression "uVar12 = (undefined4)lVar6" identifier = (cast_expression "(undefined4)lVar6" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) (expression_statement "iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13;" (assignment_expression "iVar25 = (int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13" identifier = (binary_expression "(int)((ulonglong)lVar6 >> 0x20) + local_4468 * uVar13" (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "local_4468 * uVar13" identifier * identifier))) ;) (expression_statement "uVar33 = __udivdi3(uVar12,iVar25,uVar3,0);" (assignment_expression "uVar33 = __udivdi3(uVar12,iVar25,uVar3,0)" identifier = (call_expression "__udivdi3(uVar12,iVar25,uVar3,0)" identifier (argument_list "(uVar12,iVar25,uVar3,0)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar13 = __udivdi3(uVar33,uVar13,0);" (assignment_expression "uVar13 = __udivdi3(uVar33,uVar13,0)" identifier = (call_expression "__udivdi3(uVar33,uVar13,0)" identifier (argument_list "(uVar33,uVar13,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)) {\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }" if (parenthesized_expression "(((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3))" ( (binary_expression "((uVar4 == uVar13) && (-1 < (int)uVar4)) && (-1 < (int)uVar3)" (parenthesized_expression "((uVar4 == uVar13) && (-1 < (int)uVar4))" ( (binary_expression "(uVar4 == uVar13) && (-1 < (int)uVar4)" (parenthesized_expression "(uVar4 == uVar13)" ( (binary_expression "uVar4 == uVar13" identifier == identifier) )) && (parenthesized_expression "(-1 < (int)uVar4)" ( (binary_expression "-1 < (int)uVar4" number_literal < (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) && (parenthesized_expression "(-1 < (int)uVar3)" ( (binary_expression "-1 < (int)uVar3" number_literal < (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n        MVar11 = image->ping;\n        *(undefined4 *)&clone_info->length = uVar12;\n        *(int *)((int)&clone_info->length + 4) = iVar25;\n        if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }\n        MVar11 = AcquireMagickResource(AreaResource,size);\n        if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }\n        goto LAB_00050b1b;\n      }" { (expression_statement "MVar11 = image->ping;" (assignment_expression "MVar11 = image->ping" identifier = (field_expression "image->ping" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)&clone_info->length = uVar12;" (assignment_expression "*(undefined4 *)&clone_info->length = uVar12" (pointer_expression "*(undefined4 *)&clone_info->length" * (cast_expression "(undefined4 *)&clone_info->length" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&clone_info->length" & (field_expression "clone_info->length" identifier -> field_identifier)))) = identifier) ;) (expression_statement "*(int *)((int)&clone_info->length + 4) = iVar25;" (assignment_expression "*(int *)((int)&clone_info->length + 4) = iVar25" (pointer_expression "*(int *)((int)&clone_info->length + 4)" * (cast_expression "(int *)((int)&clone_info->length + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&clone_info->length + 4)" ( (binary_expression "(int)&clone_info->length + 4" (cast_expression "(int)&clone_info->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&clone_info->length" & (field_expression "clone_info->length" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (if_statement "if (MVar11 != MagickFalse) {\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }" if (parenthesized_expression "(MVar11 != MagickFalse)" ( (binary_expression "MVar11 != MagickFalse" identifier != identifier) )) (compound_statement "{\n          MVar11 = MagickTrue;\n          clone_info->storage_class = image->storage_class;\n          CVar5 = image->colorspace;\n          clone_info->type = PingCache;\n          clone_info->colorspace = CVar5;\n          goto LAB_00050b1b;\n        }" { (expression_statement "MVar11 = MagickTrue;" (assignment_expression "MVar11 = MagickTrue" identifier = identifier) ;) (expression_statement "clone_info->storage_class = image->storage_class;" (assignment_expression "clone_info->storage_class = image->storage_class" (field_expression "clone_info->storage_class" identifier -> field_identifier) = (field_expression "image->storage_class" identifier -> field_identifier)) ;) (expression_statement "CVar5 = image->colorspace;" (assignment_expression "CVar5 = image->colorspace" identifier = (field_expression "image->colorspace" identifier -> field_identifier)) ;) (expression_statement "clone_info->type = PingCache;" (assignment_expression "clone_info->type = PingCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "clone_info->colorspace = CVar5;" (assignment_expression "clone_info->colorspace = CVar5" (field_expression "clone_info->colorspace" identifier -> field_identifier) = identifier) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (expression_statement "MVar11 = AcquireMagickResource(AreaResource,size);" (assignment_expression "MVar11 = AcquireMagickResource(AreaResource,size)" identifier = (call_expression "AcquireMagickResource(AreaResource,size)" identifier (argument_list "(AreaResource,size)" ( identifier , identifier )))) ;) (if_statement "if (clone_info->mode == PersistMode) {\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }\n        else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }" if (parenthesized_expression "(clone_info->mode == PersistMode)" ( (binary_expression "clone_info->mode == PersistMode" (field_expression "clone_info->mode" identifier -> field_identifier) == identifier) )) (compound_statement "{\nLAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\nLAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));\n          pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);\n          MVar11 = MagickFalse;\n          if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar30 = mode != ReadMode;\n          if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }\n          MVar15 = OpenPixelCacheOnDisk(clone_info,mode);\n          if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }\n          uVar13 = (uint)clone_info->length;\n          iVar25 = uVar13 + (int)clone_info->offset;\n          iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);\n          pvVar16 = image->cache;\n          MVar15 = image->debug;\n          if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }\n          uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }\n          clone_info->type = UndefinedCache;\n          piVar17 = __errno_location();\n          pcVar18 = GetExceptionMessage(*piVar17);\n          ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);\n          DestroyString(pcVar18);\n        }" { (labeled_statement "LAB_00051068:\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);" statement_identifier : (expression_statement "uVar12 = *(undefined4 *)((int)&clone_info->length + 4);" (assignment_expression "uVar12 = *(undefined4 *)((int)&clone_info->length + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&clone_info->length + 4)" * (cast_expression "(undefined4 *)((int)&clone_info->length + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&clone_info->length + 4)" ( (binary_expression "(int)&clone_info->length + 4" (cast_expression "(int)&clone_info->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&clone_info->length" & (field_expression "clone_info->length" identifier -> field_identifier))) + number_literal) ))))) ;)) (expression_statement "uVar14 = (undefined4)clone_info->length;" (assignment_expression "uVar14 = (undefined4)clone_info->length" identifier = (cast_expression "(undefined4)clone_info->length" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "clone_info->length" identifier -> field_identifier))) ;) (labeled_statement "LAB_00050cf5:\n          MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));" statement_identifier : (expression_statement "MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14));" (assignment_expression "MVar15 = AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14))" identifier = (call_expression "AcquireMagickResource(DiskResource,CONCAT44(uVar12,uVar14))" identifier (argument_list "(DiskResource,CONCAT44(uVar12,uVar14))" ( identifier , (call_expression "CONCAT44(uVar12,uVar14)" identifier (argument_list "(uVar12,uVar14)" ( identifier , identifier ))) )))) ;)) (expression_statement "pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception);" (assignment_expression "pvVar16 = GetImageRegistry(StringRegistryType,"cache:hosts",exception)" identifier = (call_expression "GetImageRegistry(StringRegistryType,"cache:hosts",exception)" identifier (argument_list "(StringRegistryType,"cache:hosts",exception)" ( identifier , (string_literal ""cache:hosts"" " string_content ") , identifier )))) ;) (expression_statement "MVar11 = MagickFalse;" (assignment_expression "MVar11 = MagickFalse" identifier = identifier) ;) (if_statement "if ((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)) {\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }" if (parenthesized_expression "((MVar15 == MagickFalse) && (pvVar16 != (void *)0x0))" ( (binary_expression "(MVar15 == MagickFalse) && (pvVar16 != (void *)0x0)" (parenthesized_expression "(MVar15 == MagickFalse)" ( (binary_expression "MVar15 == MagickFalse" identifier == identifier) )) && (parenthesized_expression "(pvVar16 != (void *)0x0)" ( (binary_expression "pvVar16 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n            server_info = AcquireDistributeCacheInfo(exception);\n            if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }\n            clone_info->type = UndefinedCache;\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);\n            goto LAB_00050b1b;\n          }" { (expression_statement "server_info = AcquireDistributeCacheInfo(exception);" (assignment_expression "server_info = AcquireDistributeCacheInfo(exception)" identifier = (call_expression "AcquireDistributeCacheInfo(exception)" identifier (argument_list "(exception)" ( identifier )))) ;) (if_statement "if (server_info != (DistributeCacheInfo *)0x0) {\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }" if (parenthesized_expression "(server_info != (DistributeCacheInfo *)0x0)" ( (binary_expression "server_info != (DistributeCacheInfo *)0x0" identifier != (cast_expression "(DistributeCacheInfo *)0x0" ( (type_descriptor "DistributeCacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              MVar15 = OpenDistributePixelCache(server_info,image);\n              if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }\n              piVar17 = __errno_location();\n              pcVar18 = GetExceptionMessage(*piVar17);\n              pcVar19 = GetDistributeCacheHostname(server_info);\n              ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);\n              DestroyString(pcVar18);\n              DestroyDistributeCacheInfo(server_info);\n            }" { (expression_statement "MVar15 = OpenDistributePixelCache(server_info,image);" (assignment_expression "MVar15 = OpenDistributePixelCache(server_info,image)" identifier = (call_expression "OpenDistributePixelCache(server_info,image)" identifier (argument_list "(server_info,image)" ( identifier , identifier )))) ;) (if_statement "if (MVar15 != MagickFalse) {\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }" if (parenthesized_expression "(MVar15 != MagickFalse)" ( (binary_expression "MVar15 != MagickFalse" identifier != identifier) )) (compound_statement "{\n                clone_info->server_info = server_info;\n                clone_info->type = DistributedCache;\n                iVar25 = GetDistributeCachePort(server_info);\n                pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;\n                FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);\n                if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }\n                if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }\n                goto LAB_00051052;\n              }" { (expression_statement "clone_info->server_info = server_info;" (assignment_expression "clone_info->server_info = server_info" (field_expression "clone_info->server_info" identifier -> field_identifier) = identifier) ;) (expression_statement "clone_info->type = DistributedCache;" (assignment_expression "clone_info->type = DistributedCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "iVar25 = GetDistributeCachePort(server_info);" (assignment_expression "iVar25 = GetDistributeCachePort(server_info)" identifier = (call_expression "GetDistributeCachePort(server_info)" identifier (argument_list "(server_info)" ( identifier )))) ;) (expression_statement "pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)\n                ;" (assignment_expression "pcVar22 = GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)" identifier = (call_expression "GetDistributeCacheHostname((DistributeCacheInfo *)clone_info->server_info)" identifier (argument_list "((DistributeCacheInfo *)clone_info->server_info)" ( (cast_expression "(DistributeCacheInfo *)clone_info->server_info" ( (type_descriptor "DistributeCacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "clone_info->server_info" identifier -> field_identifier)) )))) ;) (expression_statement "FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25);" (call_expression "FormatLocaleString(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25)" identifier (argument_list "(clone_info->cache_filename,0x1000,"%s:%d",pcVar22,iVar25)" ( (field_expression "clone_info->cache_filename" identifier -> field_identifier) , number_literal , (string_literal ""%s:%d"" " string_content ") , identifier , identifier ))) ;) (if_statement "if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n                  pCVar26 = (CacheInfo *)0x1;\n                }\n                else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }" if (parenthesized_expression "((source_info.storage_class == UndefinedClass) || (mode == ReadMode))" ( (binary_expression "(source_info.storage_class == UndefinedClass) || (mode == ReadMode)" (parenthesized_expression "(source_info.storage_class == UndefinedClass)" ( (binary_expression "source_info.storage_class == UndefinedClass" (field_expression "source_info.storage_class" identifier . field_identifier) == identifier) )) || (parenthesized_expression "(mode == ReadMode)" ( (binary_expression "mode == ReadMode" identifier == identifier) ))) )) (compound_statement "{\n                  pCVar26 = (CacheInfo *)0x1;\n                }" { (expression_statement "pCVar26 = (CacheInfo *)0x1;" (assignment_expression "pCVar26 = (CacheInfo *)0x1" identifier = (cast_expression "(CacheInfo *)0x1" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }" else (compound_statement "{\n                  pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                  RelinquishPixelCachePixels(pCVar24);\n                }" { (expression_statement "pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);" (assignment_expression "pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception)" identifier = (cast_expression "(CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception)" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ClonePixelCacheRepository(clone_info,pCVar24,exception)" identifier (argument_list "(clone_info,pCVar24,exception)" ( identifier , identifier , identifier ))))) ;) (expression_statement "RelinquishPixelCachePixels(pCVar24);" (call_expression "RelinquishPixelCachePixels(pCVar24)" identifier (argument_list "(pCVar24)" ( identifier ))) ;) }))) (if_statement "if (image->debug != MagickFalse) {\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }" if (parenthesized_expression "(image->debug != MagickFalse)" ( (binary_expression "image->debug != MagickFalse" (field_expression "image->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n                  pCVar24 = pCVar26;\n                  pCVar21 = pCVar26;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4484 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4484;\n                  local_447c = (ulonglong)clone_info->columns;\n                  dVar9 = (double)local_447c;\n                  iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);\n                  local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);\n                  local_4494._0_4_ = SUB84(dVar7,0);\n                  local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);\n                  local_4484._0_4_ = SUB84(dVar8,0);\n                  local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);\n                  local_447c._0_4_ = SUB84(dVar9,0);\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);\n                  LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );\n                }" { (expression_statement "pCVar24 = pCVar26;" (assignment_expression "pCVar24 = pCVar26" identifier = identifier) ;) (expression_statement "pCVar21 = pCVar26;" (assignment_expression "pCVar21 = pCVar26" identifier = identifier) ;) (expression_statement "FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);" (call_expression "FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format)" identifier (argument_list "(clone_info->length,MagickFalse,"B",0x1000,format)" ( (field_expression "clone_info->length" identifier -> field_identifier) , identifier , (string_literal ""B"" " string_content ") , number_literal , identifier ))) ;) (expression_statement "pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);" (assignment_expression "pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type)" identifier = (call_expression "CommandOptionToMnemonic(MagickCacheOptions,clone_info->type)" identifier (argument_list "(MagickCacheOptions,clone_info->type)" ( identifier , (field_expression "clone_info->type" identifier -> field_identifier) )))) ;) (expression_statement "local_4494 = (ulonglong)clone_info->number_channels;" (assignment_expression "local_4494 = (ulonglong)clone_info->number_channels" identifier = (cast_expression "(ulonglong)clone_info->number_channels" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->number_channels" identifier -> field_identifier))) ;) (expression_statement "dVar7 = (double)local_4494;" (assignment_expression "dVar7 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4484 = (ulonglong)clone_info->rows;" (assignment_expression "local_4484 = (ulonglong)clone_info->rows" identifier = (cast_expression "(ulonglong)clone_info->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->rows" identifier -> field_identifier))) ;) (expression_statement "dVar8 = (double)local_4484;" (assignment_expression "dVar8 = (double)local_4484" identifier = (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_447c = (ulonglong)clone_info->columns;" (assignment_expression "local_447c = (ulonglong)clone_info->columns" identifier = (cast_expression "(ulonglong)clone_info->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->columns" identifier -> field_identifier))) ;) (expression_statement "dVar9 = (double)local_447c;" (assignment_expression "dVar9 = (double)local_447c" identifier = (cast_expression "(double)local_447c" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info);" (assignment_expression "iVar25 = GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info)" identifier = (call_expression "GetDistributeCacheFile((DistributeCacheInfo *)clone_info->server_info)" identifier (argument_list "((DistributeCacheInfo *)clone_info->server_info)" ( (cast_expression "(DistributeCacheInfo *)clone_info->server_info" ( (type_descriptor "DistributeCacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "clone_info->server_info" identifier -> field_identifier)) )))) ;) (expression_statement "local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20);" (assignment_expression "local_4494._4_4_ = (undefined4)((ulonglong)dVar7 >> 0x20)" (field_expression "local_4494._4_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)dVar7 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)dVar7 >> 0x20)" ( (binary_expression "(ulonglong)dVar7 >> 0x20" (cast_expression "(ulonglong)dVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_4494._0_4_ = SUB84(dVar7,0);" (assignment_expression "local_4494._0_4_ = SUB84(dVar7,0)" (field_expression "local_4494._0_4_" identifier . field_identifier) = (call_expression "SUB84(dVar7,0)" identifier (argument_list "(dVar7,0)" ( identifier , number_literal )))) ;) (expression_statement "local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20);" (assignment_expression "local_4484._4_4_ = (undefined4)((ulonglong)dVar8 >> 0x20)" (field_expression "local_4484._4_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)dVar8 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)dVar8 >> 0x20)" ( (binary_expression "(ulonglong)dVar8 >> 0x20" (cast_expression "(ulonglong)dVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_4484._0_4_ = SUB84(dVar8,0);" (assignment_expression "local_4484._0_4_ = SUB84(dVar8,0)" (field_expression "local_4484._0_4_" identifier . field_identifier) = (call_expression "SUB84(dVar8,0)" identifier (argument_list "(dVar8,0)" ( identifier , number_literal )))) ;) (expression_statement "local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20);" (assignment_expression "local_447c._4_4_ = (undefined4)((ulonglong)dVar9 >> 0x20)" (field_expression "local_447c._4_4_" identifier . field_identifier) = (call_expression "(undefined4)((ulonglong)dVar9 >> 0x20)" (parenthesized_expression "(undefined4)" ( identifier )) (argument_list "((ulonglong)dVar9 >> 0x20)" ( (binary_expression "(ulonglong)dVar9 >> 0x20" (cast_expression "(ulonglong)dVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "local_447c._0_4_ = SUB84(dVar9,0);" (assignment_expression "local_447c._0_4_ = SUB84(dVar9,0)" (field_expression "local_447c._0_4_" identifier . field_identifier) = (call_expression "SUB84(dVar9,0)" identifier (argument_list "(dVar9,0)" ( identifier , number_literal )))) ;) (expression_statement "FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21);" (call_expression "FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21)" identifier (argument_list "(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,iVar25,pcVar22,\n                                     (undefined4)local_447c,local_447c._4_4_,(undefined4)local_4484,\n                                     local_4484._4_4_,(undefined4)local_4494,local_4494._4_4_,format\n                                     ,pCVar24,pCVar21)" ( identifier , number_literal , (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , (field_expression "clone_info->cache_filename" identifier -> field_identifier) , identifier , identifier , (cast_expression "(undefined4)local_447c" ( (type_descriptor "undefined4" type_identifier) ) identifier) , (field_expression "local_447c._4_4_" identifier . field_identifier) , (cast_expression "(undefined4)local_4484" ( (type_descriptor "undefined4" type_identifier) ) identifier) , (field_expression "local_4484._4_4_" identifier . field_identifier) , (cast_expression "(undefined4)local_4494" ( (type_descriptor "undefined4" type_identifier) ) identifier) , (field_expression "local_4494._4_4_" identifier . field_identifier) , identifier , identifier , identifier ))) ;) (expression_statement "LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                );" (call_expression "LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                )" identifier (argument_list "(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message\n                                )" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , identifier ))) ;) })) (goto_statement "goto LAB_00051052;" goto statement_identifier ;) })) (expression_statement "piVar17 = __errno_location();" (assignment_expression "piVar17 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar18 = GetExceptionMessage(*piVar17);" (assignment_expression "pcVar18 = GetExceptionMessage(*piVar17)" identifier = (call_expression "GetExceptionMessage(*piVar17)" identifier (argument_list "(*piVar17)" ( (pointer_expression "*piVar17" * identifier) )))) ;) (expression_statement "pcVar19 = GetDistributeCacheHostname(server_info);" (assignment_expression "pcVar19 = GetDistributeCacheHostname(server_info)" identifier = (call_expression "GetDistributeCacheHostname(server_info)" identifier (argument_list "(server_info)" ( identifier )))) ;) (expression_statement "ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);" (call_expression "ThrowMagickException\n                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18)" identifier (argument_list "(exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,\n                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , identifier , (string_literal ""UnableToOpenPixelCache"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(pcVar18);" (call_expression "DestroyString(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "DestroyDistributeCacheInfo(server_info);" (call_expression "DestroyDistributeCacheInfo(server_info)" identifier (argument_list "(server_info)" ( identifier ))) ;) })) (expression_statement "clone_info->type = UndefinedCache;" (assignment_expression "clone_info->type = UndefinedCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22);" (call_expression "ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22)" identifier (argument_list "(exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,\n                       "CacheResourcesExhausted","`%s\'",pcVar22)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , identifier , (string_literal ""CacheResourcesExhausted"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (if_statement "if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }" if (parenthesized_expression "(MVar15 == MagickFalse)" ( (binary_expression "MVar15 == MagickFalse" identifier == identifier) )) (compound_statement "{\n            clone_info->type = UndefinedCache;\n            pcVar22 = "CacheResourcesExhausted";\n            severity = CacheError;\n            sVar10 = 0xf2b;\n            goto LAB_00050aff;\n          }" { (expression_statement "clone_info->type = UndefinedCache;" (assignment_expression "clone_info->type = UndefinedCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar22 = "CacheResourcesExhausted";" (assignment_expression "pcVar22 = "CacheResourcesExhausted"" identifier = (string_literal ""CacheResourcesExhausted"" " string_content ")) ;) (expression_statement "severity = CacheError;" (assignment_expression "severity = CacheError" identifier = identifier) ;) (expression_statement "sVar10 = 0xf2b;" (assignment_expression "sVar10 = 0xf2b" identifier = number_literal) ;) (goto_statement "goto LAB_00050aff;" goto statement_identifier ;) })) (expression_statement "bVar30 = mode != ReadMode;" (assignment_expression "bVar30 = mode != ReadMode" identifier = (binary_expression "mode != ReadMode" identifier != identifier)) ;) (if_statement "if (((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)) {\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }" if (parenthesized_expression "(((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode))" ( (binary_expression "((source_info.storage_class != UndefinedClass) && (bVar30)) &&\n             (clone_info->mode != PersistMode)" (parenthesized_expression "((source_info.storage_class != UndefinedClass) && (bVar30))" ( (binary_expression "(source_info.storage_class != UndefinedClass) && (bVar30)" (parenthesized_expression "(source_info.storage_class != UndefinedClass)" ( (binary_expression "source_info.storage_class != UndefinedClass" (field_expression "source_info.storage_class" identifier . field_identifier) != identifier) )) && (parenthesized_expression "(bVar30)" ( identifier ))) )) && (parenthesized_expression "(clone_info->mode != PersistMode)" ( (binary_expression "clone_info->mode != PersistMode" (field_expression "clone_info->mode" identifier -> field_identifier) != identifier) ))) )) (compound_statement "{\n            ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n            clone_info->cache_filename[0] = '\0';\n          }" { (expression_statement "ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);" (call_expression "ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file)" identifier (argument_list "((CacheInfo *)&clone_info->file)" ( (cast_expression "(CacheInfo *)&clone_info->file" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&clone_info->file" & (field_expression "clone_info->file" identifier -> field_identifier))) ))) ;) (expression_statement "clone_info->cache_filename[0] = '\0';" (assignment_expression "clone_info->cache_filename[0] = '\0'" (subscript_expression "clone_info->cache_filename[0]" (field_expression "clone_info->cache_filename" identifier -> field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "MVar15 = OpenPixelCacheOnDisk(clone_info,mode);" (assignment_expression "MVar15 = OpenPixelCacheOnDisk(clone_info,mode)" identifier = (call_expression "OpenPixelCacheOnDisk(clone_info,mode)" identifier (argument_list "(clone_info,mode)" ( identifier , identifier )))) ;) (if_statement "if (MVar15 == MagickFalse) {\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }" if (parenthesized_expression "(MVar15 == MagickFalse)" ( (binary_expression "MVar15 == MagickFalse" identifier == identifier) )) (compound_statement "{\n            clone_info->type = UndefinedCache;\n            piVar17 = __errno_location();\n            pcVar18 = GetExceptionMessage(*piVar17);\n            ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);\n            DestroyString(pcVar18);\n            MVar11 = MagickFalse;\n            goto LAB_00050b1b;\n          }" { (expression_statement "clone_info->type = UndefinedCache;" (assignment_expression "clone_info->type = UndefinedCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar17 = __errno_location();" (assignment_expression "piVar17 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar18 = GetExceptionMessage(*piVar17);" (assignment_expression "pcVar18 = GetExceptionMessage(*piVar17)" identifier = (call_expression "GetExceptionMessage(*piVar17)" identifier (argument_list "(*piVar17)" ( (pointer_expression "*piVar17" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18);" (call_expression "ThrowMagickException\n                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18)" identifier (argument_list "(exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,\n                       "UnableToOpenPixelCache","\'%s\': %s",pcVar22,pcVar18)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , identifier , (string_literal ""UnableToOpenPixelCache"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(pcVar18);" (call_expression "DestroyString(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) (expression_statement "MVar11 = MagickFalse;" (assignment_expression "MVar11 = MagickFalse" identifier = identifier) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (expression_statement "uVar13 = (uint)clone_info->length;" (assignment_expression "uVar13 = (uint)clone_info->length" identifier = (cast_expression "(uint)clone_info->length" ( (type_descriptor "uint" type_identifier) ) (field_expression "clone_info->length" identifier -> field_identifier))) ;) (expression_statement "iVar25 = uVar13 + (int)clone_info->offset;" (assignment_expression "iVar25 = uVar13 + (int)clone_info->offset" identifier = (binary_expression "uVar13 + (int)clone_info->offset" identifier + (cast_expression "(int)clone_info->offset" ( (type_descriptor "int" primitive_type) ) (field_expression "clone_info->offset" identifier -> field_identifier)))) ;) (expression_statement "iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset);" (assignment_expression "iVar29 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset)" identifier = (binary_expression "*(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +\n                   (uint)CARRY4(uVar13,(uint)clone_info->offset)" (binary_expression "*(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4)" (pointer_expression "*(int *)((int)&clone_info->length + 4)" * (cast_expression "(int *)((int)&clone_info->length + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&clone_info->length + 4)" ( (binary_expression "(int)&clone_info->length + 4" (cast_expression "(int)&clone_info->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&clone_info->length" & (field_expression "clone_info->length" identifier -> field_identifier))) + number_literal) )))) + (pointer_expression "*(int *)((int)&clone_info->offset + 4)" * (cast_expression "(int *)((int)&clone_info->offset + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&clone_info->offset + 4)" ( (binary_expression "(int)&clone_info->offset + 4" (cast_expression "(int)&clone_info->offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&clone_info->offset" & (field_expression "clone_info->offset" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar13,(uint)clone_info->offset)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar13,(uint)clone_info->offset)" identifier (argument_list "(uVar13,(uint)clone_info->offset)" ( identifier , (cast_expression "(uint)clone_info->offset" ( (type_descriptor "uint" type_identifier) ) (field_expression "clone_info->offset" identifier -> field_identifier)) )))))) ;) (expression_statement "pvVar16 = image->cache;" (assignment_expression "pvVar16 = image->cache" identifier = (field_expression "image->cache" identifier -> field_identifier)) ;) (expression_statement "MVar15 = image->debug;" (assignment_expression "MVar15 = image->debug" identifier = (field_expression "image->debug" identifier -> field_identifier)) ;) (if_statement "if (MVar15 != MagickFalse) {\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }" if (parenthesized_expression "(MVar15 != MagickFalse)" ( (binary_expression "MVar15 != MagickFalse" identifier != identifier) )) (compound_statement "{\n            FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);\n            FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;\n          }" { (expression_statement "FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format);" (call_expression "FormatMagickSize(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format)" identifier (argument_list "(CONCAT44(iVar29,iVar25),MagickFalse,"B",0x1000,format)" ( (call_expression "CONCAT44(iVar29,iVar25)" identifier (argument_list "(iVar29,iVar25)" ( identifier , identifier ))) , identifier , (string_literal ""B"" " string_content ") , number_literal , identifier ))) ;) (expression_statement "FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15);" (call_expression "FormatLocaleString(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15)" identifier (argument_list "(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)pvVar16 + 0x3a8,\n                               (int)pvVar16 + 0x13a8,*(undefined4 *)((int)pvVar16 + 0x3a4),format,\n                               MVar15)" ( identifier , number_literal , (string_literal ""extend %s (%s[%d], disk, %s)"" " string_content ") , (binary_expression "(int)pvVar16 + 0x3a8" (cast_expression "(int)pvVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "(int)pvVar16 + 0x13a8" (cast_expression "(int)pvVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (pointer_expression "*(undefined4 *)((int)pvVar16 + 0x3a4)" * (cast_expression "(undefined4 *)((int)pvVar16 + 0x3a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar16 + 0x3a4)" ( (binary_expression "(int)pvVar16 + 0x3a4" (cast_expression "(int)pvVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , identifier , identifier ))) ;) (expression_statement "LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)\n            ;" (call_expression "LogMagickEvent(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)" identifier (argument_list "(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""SetPixelCacheExtent"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , identifier ))) ;) })) (expression_statement "uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2);" (assignment_expression "uVar34 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2)" identifier = (call_expression "lseek64(*(int *)((int)pvVar16 + 0x3a4),0,2)" identifier (argument_list "(*(int *)((int)pvVar16 + 0x3a4),0,2)" ( (pointer_expression "*(int *)((int)pvVar16 + 0x3a4)" * (cast_expression "(int *)((int)pvVar16 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar16 + 0x3a4)" ( (binary_expression "(int)pvVar16 + 0x3a4" (cast_expression "(int)pvVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , number_literal , number_literal )))) ;) (if_statement "if (-1 < (longlong)uVar34) {\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }" if (parenthesized_expression "(-1 < (longlong)uVar34)" ( (binary_expression "-1 < (longlong)uVar34" number_literal < (cast_expression "(longlong)uVar34" ( (type_descriptor "longlong" type_identifier) ) identifier)) )) (compound_statement "{\n            if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }\n          }" { (if_statement "if (uVar34 < CONCAT44(iVar29,iVar25)) {\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }" if (parenthesized_expression "(uVar34 < CONCAT44(iVar29,iVar25))" ( (binary_expression "uVar34 < CONCAT44(iVar29,iVar25)" identifier < (call_expression "CONCAT44(iVar29,iVar25)" identifier (argument_list "(iVar29,iVar25)" ( identifier , identifier )))) )) (compound_statement "{\n              uVar13 = iVar25 - 1;\n              iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);\n              do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);\n            }" { (expression_statement "uVar13 = iVar25 - 1;" (assignment_expression "uVar13 = iVar25 - 1" identifier = (binary_expression "iVar25 - 1" identifier - number_literal)) ;) (expression_statement "iVar25 = iVar29 + -1 + (uint)(iVar25 != 0);" (assignment_expression "iVar25 = iVar29 + -1 + (uint)(iVar25 != 0)" identifier = (binary_expression "iVar29 + -1 + (uint)(iVar25 != 0)" (binary_expression "iVar29 + -1" identifier + number_literal) + (call_expression "(uint)(iVar25 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar25 != 0)" ( (binary_expression "iVar25 != 0" identifier != number_literal) ))))) ;) (do_statement "do {\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              } while (*piVar17 == 4);" do (compound_statement "{\n                sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));\n                if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar17 = __errno_location();\n              }" { (expression_statement "sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13));" (assignment_expression "sVar20 = pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13))" identifier = (call_expression "pwrite64(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13))" identifier (argument_list "(*(int *)((int)pvVar16 + 0x3a4),&DAT_0030570a,1,\n                                  CONCAT44(iVar25,uVar13))" ( (pointer_expression "*(int *)((int)pvVar16 + 0x3a4)" * (cast_expression "(int *)((int)pvVar16 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar16 + 0x3a4)" ( (binary_expression "(int)pvVar16 + 0x3a4" (cast_expression "(int)pvVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "&DAT_0030570a" & identifier) , number_literal , (call_expression "CONCAT44(iVar25,uVar13)" identifier (argument_list "(iVar25,uVar13)" ( identifier , identifier ))) )))) ;) (if_statement "if (0 < sVar20) {\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }" if (parenthesized_expression "(0 < sVar20)" ( (binary_expression "0 < sVar20" number_literal < identifier) )) (compound_statement "{\n                  if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }" { (if_statement "if (sVar20 == 1) {\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }" if (parenthesized_expression "(sVar20 == 1)" ( (binary_expression "sVar20 == 1" identifier == number_literal) )) (compound_statement "{\n                    if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar34;\n                    local_4448 = (int)(uVar34 >> 0x20);\n                    iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));\n                    if (iVar25 == 0) goto LAB_00050fd6;\n                  }" { (if_statement "if (*(int *)((int)pvVar16 + 0x23dc) == 0) goto LAB_00050fd6;" if (parenthesized_expression "(*(int *)((int)pvVar16 + 0x23dc) == 0)" ( (binary_expression "*(int *)((int)pvVar16 + 0x23dc) == 0" (pointer_expression "*(int *)((int)pvVar16 + 0x23dc)" * (cast_expression "(int *)((int)pvVar16 + 0x23dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar16 + 0x23dc)" ( (binary_expression "(int)pvVar16 + 0x23dc" (cast_expression "(int)pvVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00050fd6;" goto statement_identifier ;)) (expression_statement "local_444c = (uint)uVar34;" (assignment_expression "local_444c = (uint)uVar34" identifier = (cast_expression "(uint)uVar34" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_4448 = (int)(uVar34 >> 0x20);" (assignment_expression "local_4448 = (int)(uVar34 >> 0x20)" identifier = (cast_expression "(int)(uVar34 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar34 >> 0x20)" ( (binary_expression "uVar34 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c));" (assignment_expression "iVar25 = posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c))" identifier = (call_expression "posix_fallocate64(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c))" identifier (argument_list "(*(int *)((int)pvVar16 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c))" ( (pointer_expression "*(int *)((int)pvVar16 + 0x3a4)" * (cast_expression "(int *)((int)pvVar16 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar16 + 0x3a4)" ( (binary_expression "(int)pvVar16 + 0x3a4" (cast_expression "(int)pvVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (call_expression "CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1)" identifier (argument_list "(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1)" ( (binary_expression "local_4448 + (uint)(0xfffffffe < local_444c)" identifier + (call_expression "(uint)(0xfffffffe < local_444c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < local_444c)" ( (binary_expression "0xfffffffe < local_444c" number_literal < identifier) )))) , (binary_expression "local_444c + 1" identifier + number_literal) ))) , (call_expression "CONCAT44((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c)" identifier (argument_list "((iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c),\n                                                        uVar13 - local_444c)" ( (binary_expression "(iVar25 - local_4448) -\n                                                        (uint)(uVar13 < local_444c)" (parenthesized_expression "(iVar25 - local_4448)" ( (binary_expression "iVar25 - local_4448" identifier - identifier) )) - (call_expression "(uint)(uVar13 < local_444c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar13 < local_444c)" ( (binary_expression "uVar13 < local_444c" identifier < identifier) )))) , (binary_expression "uVar13 - local_444c" identifier - identifier) ))) )))) ;) (if_statement "if (iVar25 == 0) goto LAB_00050fd6;" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00050fd6;" goto statement_identifier ;)) })) (break_statement "break;" break ;) })) (expression_statement "piVar17 = __errno_location();" (assignment_expression "piVar17 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) }) while (parenthesized_expression "(*piVar17 == 4)" ( (binary_expression "*piVar17 == 4" (pointer_expression "*piVar17" * identifier) == number_literal) )) ;) }) (else_clause "else {\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }" else (compound_statement "{\nLAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);\n              if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }\n            }" { (labeled_statement "LAB_00050fd6:\n              _Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);" statement_identifier : (expression_statement "_Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0);" (assignment_expression "_Var35 = lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0)" identifier = (call_expression "lseek64(*(int *)((int)pvVar16 + 0x3a4),0,0)" identifier (argument_list "(*(int *)((int)pvVar16 + 0x3a4),0,0)" ( (pointer_expression "*(int *)((int)pvVar16 + 0x3a4)" * (cast_expression "(int *)((int)pvVar16 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pvVar16 + 0x3a4)" ( (binary_expression "(int)pvVar16 + 0x3a4" (cast_expression "(int)pvVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , number_literal , number_literal )))) ;)) (if_statement "if (-1 < _Var35) {\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }" if (parenthesized_expression "(-1 < _Var35)" ( (binary_expression "-1 < _Var35" number_literal < identifier) )) (compound_statement "{\n                clone_info->type = DiskCache;\n                uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n                lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);\n                pCVar21 = (CacheInfo *)lVar6;\n                if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }\n                LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;\n                goto LAB_00051052;\n              }" { (expression_statement "clone_info->type = DiskCache;" (assignment_expression "clone_info->type = DiskCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;" (assignment_expression "uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8" identifier = (binary_expression "clone_info->metacontent_extent + clone_info->number_channels * 8" (field_expression "clone_info->metacontent_extent" identifier -> field_identifier) + (binary_expression "clone_info->number_channels * 8" (field_expression "clone_info->number_channels" identifier -> field_identifier) * number_literal))) ;) (expression_statement "lVar6 = (ulonglong)uVar13 * (size & 0xffffffff);" (assignment_expression "lVar6 = (ulonglong)uVar13 * (size & 0xffffffff)" identifier = (binary_expression "(ulonglong)uVar13 * (size & 0xffffffff)" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (parenthesized_expression "(size & 0xffffffff)" ( (binary_expression "size & 0xffffffff" identifier & number_literal) )))) ;) (expression_statement "pCVar21 = (CacheInfo *)lVar6;" (assignment_expression "pCVar21 = (CacheInfo *)lVar6" identifier = (cast_expression "(CacheInfo *)lVar6" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)) {\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }" if (parenthesized_expression "((local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0))" ( (binary_expression "(local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0) &&\n                   (pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)" (parenthesized_expression "(local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0)" ( (binary_expression "local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20) == 0" (binary_expression "local_4468 * uVar13 + (int)((ulonglong)lVar6 >> 0x20)" (binary_expression "local_4468 * uVar13" identifier * identifier) + (cast_expression "(int)((ulonglong)lVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar6 >> 0x20)" ( (binary_expression "(ulonglong)lVar6 >> 0x20" (cast_expression "(ulonglong)lVar6" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) == number_literal) )) && (parenthesized_expression "(pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0)" ( (comma_expression "pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length),\n                   pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0" (assignment_expression "pCVar26 = (CacheInfo *)AcquireMagickResource(MapResource,clone_info->length)" identifier = (cast_expression "(CacheInfo *)AcquireMagickResource(MapResource,clone_info->length)" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireMagickResource(MapResource,clone_info->length)" identifier (argument_list "(MapResource,clone_info->length)" ( identifier , (field_expression "clone_info->length" identifier -> field_identifier) ))))) , (comma_expression "pCVar21 = pCVar26, pCVar26 != (CacheInfo *)0x0" (assignment_expression "pCVar21 = pCVar26" identifier = identifier) , (binary_expression "pCVar26 != (CacheInfo *)0x0" identifier != (cast_expression "(CacheInfo *)0x0" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (compound_statement "{\n                  pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);\n                  clone_info->pixels = pQVar23;\n                  if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }\n                  ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);\n                  clone_info->type = MapCache;\n                  clone_info->mapped = MagickTrue;\n                  clone_info->metacontent = (void *)0x0;\n                  if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }\n                  if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pIVar36 = image;\n                  FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);\n                  sVar10 = 0xf74;\n                }" { (expression_statement "pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length);" (assignment_expression "pQVar23 = (Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length)" identifier = (cast_expression "(Quantum *)\n                            MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length)" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "MapBlob(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length)" identifier (argument_list "(clone_info->file,mode,clone_info->offset,\n                                    (size_t)clone_info->length)" ( (field_expression "clone_info->file" identifier -> field_identifier) , identifier , (field_expression "clone_info->offset" identifier -> field_identifier) , (cast_expression "(size_t)clone_info->length" ( (type_descriptor "size_t" primitive_type) ) (field_expression "clone_info->length" identifier -> field_identifier)) ))))) ;) (expression_statement "clone_info->pixels = pQVar23;" (assignment_expression "clone_info->pixels = pQVar23" (field_expression "clone_info->pixels" identifier -> field_identifier) = identifier) ;) (if_statement "if (pQVar23 == (Quantum *)0x0) {\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }" if (parenthesized_expression "(pQVar23 == (Quantum *)0x0)" ( (binary_expression "pQVar23 == (Quantum *)0x0" identifier == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    clone_info->mapped = source_info.mapped;\n                    clone_info->pixels = source_info.pixels;\n                    RelinquishMagickResource(MapResource,clone_info->length);\n                    pCVar21 = (CacheInfo *)source_info.pixels;\n                    goto LAB_0005102c;\n                  }" { (expression_statement "clone_info->mapped = source_info.mapped;" (assignment_expression "clone_info->mapped = source_info.mapped" (field_expression "clone_info->mapped" identifier -> field_identifier) = (field_expression "source_info.mapped" identifier . field_identifier)) ;) (expression_statement "clone_info->pixels = source_info.pixels;" (assignment_expression "clone_info->pixels = source_info.pixels" (field_expression "clone_info->pixels" identifier -> field_identifier) = (field_expression "source_info.pixels" identifier . field_identifier)) ;) (expression_statement "RelinquishMagickResource(MapResource,clone_info->length);" (call_expression "RelinquishMagickResource(MapResource,clone_info->length)" identifier (argument_list "(MapResource,clone_info->length)" ( identifier , (field_expression "clone_info->length" identifier -> field_identifier) ))) ;) (expression_statement "pCVar21 = (CacheInfo *)source_info.pixels;" (assignment_expression "pCVar21 = (CacheInfo *)source_info.pixels" identifier = (cast_expression "(CacheInfo *)source_info.pixels" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "source_info.pixels" identifier . field_identifier))) ;) (goto_statement "goto LAB_0005102c;" goto statement_identifier ;) })) (expression_statement "ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file);" (call_expression "ClosePixelCacheOnDisk((CacheInfo *)&clone_info->file)" identifier (argument_list "((CacheInfo *)&clone_info->file)" ( (cast_expression "(CacheInfo *)&clone_info->file" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&clone_info->file" & (field_expression "clone_info->file" identifier -> field_identifier))) ))) ;) (expression_statement "clone_info->type = MapCache;" (assignment_expression "clone_info->type = MapCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "clone_info->mapped = MagickTrue;" (assignment_expression "clone_info->mapped = MagickTrue" (field_expression "clone_info->mapped" identifier -> field_identifier) = identifier) ;) (expression_statement "clone_info->metacontent = (void *)0x0;" (assignment_expression "clone_info->metacontent = (void *)0x0" (field_expression "clone_info->metacontent" identifier -> field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (clone_info->metacontent_extent != 0) {\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }" if (parenthesized_expression "(clone_info->metacontent_extent != 0)" ( (binary_expression "clone_info->metacontent_extent != 0" (field_expression "clone_info->metacontent_extent" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);\n                  }" { (expression_statement "clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels);" (assignment_expression "clone_info->metacontent =\n                         (Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)" (field_expression "clone_info->metacontent" identifier -> field_identifier) = (cast_expression "(Quantum *)\n                         (clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)" ( (binary_expression "clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels" (binary_expression "clone_info->number_channels * 8 * local_446c" (binary_expression "clone_info->number_channels * 8" (field_expression "clone_info->number_channels" identifier -> field_identifier) * number_literal) * identifier) + (cast_expression "(int)clone_info->pixels" ( (type_descriptor "int" primitive_type) ) (field_expression "clone_info->pixels" identifier -> field_identifier))) )))) ;) })) (if_statement "if ((source_info.storage_class != UndefinedClass) && (bVar30)) {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }" if (parenthesized_expression "((source_info.storage_class != UndefinedClass) && (bVar30))" ( (binary_expression "(source_info.storage_class != UndefinedClass) && (bVar30)" (parenthesized_expression "(source_info.storage_class != UndefinedClass)" ( (binary_expression "source_info.storage_class != UndefinedClass" (field_expression "source_info.storage_class" identifier . field_identifier) != identifier) )) && (parenthesized_expression "(bVar30)" ( identifier ))) )) (compound_statement "{\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }" { (expression_statement "pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);" (assignment_expression "pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception)" identifier = (cast_expression "(CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception)" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ClonePixelCacheRepository(clone_info,pCVar24,exception)" identifier (argument_list "(clone_info,pCVar24,exception)" ( identifier , identifier , identifier ))))) ;) (expression_statement "RelinquishPixelCachePixels(pCVar24);" (call_expression "RelinquishPixelCachePixels(pCVar24)" identifier (argument_list "(pCVar24)" ( identifier ))) ;) })) (if_statement "if (image->debug == MagickFalse) goto LAB_00051052;" if (parenthesized_expression "(image->debug == MagickFalse)" ( (binary_expression "image->debug == MagickFalse" (field_expression "image->debug" identifier -> field_identifier) == identifier) )) (goto_statement "goto LAB_00051052;" goto statement_identifier ;)) (expression_statement "pIVar36 = image;" (assignment_expression "pIVar36 = image" identifier = identifier) ;) (expression_statement "FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);" (call_expression "FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format)" identifier (argument_list "(clone_info->length,MagickTrue,"B",0x1000,format)" ( (field_expression "clone_info->length" identifier -> field_identifier) , identifier , (string_literal ""B"" " string_content ") , number_literal , identifier ))) ;) (expression_statement "pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);" (assignment_expression "pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type)" identifier = (call_expression "CommandOptionToMnemonic(MagickCacheOptions,clone_info->type)" identifier (argument_list "(MagickCacheOptions,clone_info->type)" ( identifier , (field_expression "clone_info->type" identifier -> field_identifier) )))) ;) (expression_statement "local_4494 = (ulonglong)clone_info->number_channels;" (assignment_expression "local_4494 = (ulonglong)clone_info->number_channels" identifier = (cast_expression "(ulonglong)clone_info->number_channels" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->number_channels" identifier -> field_identifier))) ;) (expression_statement "dVar7 = (double)local_4494;" (assignment_expression "dVar7 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)clone_info->rows;" (assignment_expression "local_4494 = (ulonglong)clone_info->rows" identifier = (cast_expression "(ulonglong)clone_info->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->rows" identifier -> field_identifier))) ;) (expression_statement "dVar8 = (double)local_4494;" (assignment_expression "dVar8 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)clone_info->columns;" (assignment_expression "local_4494 = (ulonglong)clone_info->columns" identifier = (cast_expression "(ulonglong)clone_info->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->columns" identifier -> field_identifier))) ;) (expression_statement "FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36);" (call_expression "FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36)" identifier (argument_list "(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,image,pIVar36)" ( identifier , number_literal , (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , (field_expression "clone_info->cache_filename" identifier -> field_identifier) , (field_expression "clone_info->file" identifier -> field_identifier) , identifier , (call_expression "SUB84((double)local_4494,0)" identifier (argument_list "((double)local_4494,0)" ( (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_4494 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_4494 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_4494 >> 0x20" (cast_expression "(ulonglong)(double)local_4494" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84(dVar8,0)" identifier (argument_list "(dVar8,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar8 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar8 >> 0x20)" ( (binary_expression "(ulonglong)dVar8 >> 0x20" (cast_expression "(ulonglong)dVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar7,0)" identifier (argument_list "(dVar7,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar7 >> 0x20)" ( (binary_expression "(ulonglong)dVar7 >> 0x20" (cast_expression "(ulonglong)dVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , identifier , identifier , identifier ))) ;) (expression_statement "sVar10 = 0xf74;" (assignment_expression "sVar10 = 0xf74" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }" else (compound_statement "{\nLAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }\n                  if (image->debug == MagickFalse) goto LAB_00051052;\n                  pCVar21 = pCVar24;\n                  FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);\n                  pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);\n                  local_4494 = (ulonglong)clone_info->number_channels;\n                  dVar7 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->rows;\n                  dVar8 = (double)local_4494;\n                  local_4494 = (ulonglong)clone_info->columns;\n                  FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);\n                  sVar10 = 0xf91;\n                }" { (labeled_statement "LAB_0005102c:\n                  if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }" statement_identifier : (if_statement "if ((source_info.storage_class == UndefinedClass) || (!bVar30)) {\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }\n                  else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }" if (parenthesized_expression "((source_info.storage_class == UndefinedClass) || (!bVar30))" ( (binary_expression "(source_info.storage_class == UndefinedClass) || (!bVar30)" (parenthesized_expression "(source_info.storage_class == UndefinedClass)" ( (binary_expression "source_info.storage_class == UndefinedClass" (field_expression "source_info.storage_class" identifier . field_identifier) == identifier) )) || (parenthesized_expression "(!bVar30)" ( (unary_expression "!bVar30" ! identifier) ))) )) (compound_statement "{\n                    pCVar26 = (CacheInfo *)0x1;\n                    pCVar24 = pCVar21;\n                  }" { (expression_statement "pCVar26 = (CacheInfo *)0x1;" (assignment_expression "pCVar26 = (CacheInfo *)0x1" identifier = (cast_expression "(CacheInfo *)0x1" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCVar24 = pCVar21;" (assignment_expression "pCVar24 = pCVar21" identifier = identifier) ;) }) (else_clause "else {\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }" else (compound_statement "{\n                    pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n                    RelinquishPixelCachePixels(pCVar24);\n                  }" { (expression_statement "pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);" (assignment_expression "pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception)" identifier = (cast_expression "(CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception)" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ClonePixelCacheRepository(clone_info,pCVar24,exception)" identifier (argument_list "(clone_info,pCVar24,exception)" ( identifier , identifier , identifier ))))) ;) (expression_statement "RelinquishPixelCachePixels(pCVar24);" (call_expression "RelinquishPixelCachePixels(pCVar24)" identifier (argument_list "(pCVar24)" ( identifier ))) ;) })))) (if_statement "if (image->debug == MagickFalse) goto LAB_00051052;" if (parenthesized_expression "(image->debug == MagickFalse)" ( (binary_expression "image->debug == MagickFalse" (field_expression "image->debug" identifier -> field_identifier) == identifier) )) (goto_statement "goto LAB_00051052;" goto statement_identifier ;)) (expression_statement "pCVar21 = pCVar24;" (assignment_expression "pCVar21 = pCVar24" identifier = identifier) ;) (expression_statement "FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format);" (call_expression "FormatMagickSize(clone_info->length,MagickFalse,"B",0x1000,format)" identifier (argument_list "(clone_info->length,MagickFalse,"B",0x1000,format)" ( (field_expression "clone_info->length" identifier -> field_identifier) , identifier , (string_literal ""B"" " string_content ") , number_literal , identifier ))) ;) (expression_statement "pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type);" (assignment_expression "pcVar22 = CommandOptionToMnemonic(MagickCacheOptions,clone_info->type)" identifier = (call_expression "CommandOptionToMnemonic(MagickCacheOptions,clone_info->type)" identifier (argument_list "(MagickCacheOptions,clone_info->type)" ( identifier , (field_expression "clone_info->type" identifier -> field_identifier) )))) ;) (expression_statement "local_4494 = (ulonglong)clone_info->number_channels;" (assignment_expression "local_4494 = (ulonglong)clone_info->number_channels" identifier = (cast_expression "(ulonglong)clone_info->number_channels" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->number_channels" identifier -> field_identifier))) ;) (expression_statement "dVar7 = (double)local_4494;" (assignment_expression "dVar7 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)clone_info->rows;" (assignment_expression "local_4494 = (ulonglong)clone_info->rows" identifier = (cast_expression "(ulonglong)clone_info->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->rows" identifier -> field_identifier))) ;) (expression_statement "dVar8 = (double)local_4494;" (assignment_expression "dVar8 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)clone_info->columns;" (assignment_expression "local_4494 = (ulonglong)clone_info->columns" identifier = (cast_expression "(ulonglong)clone_info->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->columns" identifier -> field_identifier))) ;) (expression_statement "FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21);" (call_expression "FormatLocaleString(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21)" identifier (argument_list "(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     pcVar18,clone_info->cache_filename,clone_info->file,pcVar22,\n                                     SUB84((double)local_4494,0),\n                                     (int)((ulonglong)(double)local_4494 >> 0x20),SUB84(dVar8,0),\n                                     (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                                     (int)((ulonglong)dVar7 >> 0x20),format,pCVar24,pCVar21)" ( identifier , number_literal , (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , (field_expression "clone_info->cache_filename" identifier -> field_identifier) , (field_expression "clone_info->file" identifier -> field_identifier) , identifier , (call_expression "SUB84((double)local_4494,0)" identifier (argument_list "((double)local_4494,0)" ( (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_4494 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_4494 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_4494 >> 0x20" (cast_expression "(ulonglong)(double)local_4494" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84(dVar8,0)" identifier (argument_list "(dVar8,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar8 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar8 >> 0x20)" ( (binary_expression "(ulonglong)dVar8 >> 0x20" (cast_expression "(ulonglong)dVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar7,0)" identifier (argument_list "(dVar7,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar7 >> 0x20)" ( (binary_expression "(ulonglong)dVar7 >> 0x20" (cast_expression "(ulonglong)dVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , identifier , identifier , identifier ))) ;) (expression_statement "sVar10 = 0xf91;" (assignment_expression "sVar10 = 0xf91" identifier = number_literal) ;) }))) (expression_statement "LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)\n                ;" (call_expression "LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)" identifier (argument_list "(CacheEvent,"MagickCore/cache.c","OpenPixelCache",sVar10,"%s",message)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , identifier , (string_literal ""%s"" " string_content ") , identifier ))) ;) (goto_statement "goto LAB_00051052;" goto statement_identifier ;) })) }))) })) (expression_statement "clone_info->type = UndefinedCache;" (assignment_expression "clone_info->type = UndefinedCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar17 = __errno_location();" (assignment_expression "piVar17 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar18 = GetExceptionMessage(*piVar17);" (assignment_expression "pcVar18 = GetExceptionMessage(*piVar17)" identifier = (call_expression "GetExceptionMessage(*piVar17)" identifier (argument_list "(*piVar17)" ( (pointer_expression "*piVar17" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18);" (call_expression "ThrowMagickException\n                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18)" identifier (argument_list "(exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,\n                     "UnableToExtendCache","\'%s\': %s",pcVar22,pcVar18)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , identifier , (string_literal ""UnableToExtendCache"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(pcVar18);" (call_expression "DestroyString(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier ))) ;) }) (else_clause "else {\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }" else (compound_statement "{\n          uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;\n          uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n          uVar14 = (undefined4)clone_info->length;\n          if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;\n          MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);\n          if (MVar11 == MagickFalse) goto LAB_00051068;\n          sVar10 = (size_t)clone_info->length;\n          if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }\n          clone_info->type = MemoryCache;\n          clone_info->metacontent = (void *)0x0;\n          if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }\n          if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }\n          if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }\n          clone_info->storage_class = image->storage_class;\nLAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }\n        }" { (expression_statement "uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8;" (assignment_expression "uVar13 = clone_info->metacontent_extent + clone_info->number_channels * 8" identifier = (binary_expression "clone_info->metacontent_extent + clone_info->number_channels * 8" (field_expression "clone_info->metacontent_extent" identifier -> field_identifier) + (binary_expression "clone_info->number_channels * 8" (field_expression "clone_info->number_channels" identifier -> field_identifier) * number_literal))) ;) (expression_statement "uVar12 = *(undefined4 *)((int)&clone_info->length + 4);" (assignment_expression "uVar12 = *(undefined4 *)((int)&clone_info->length + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&clone_info->length + 4)" * (cast_expression "(undefined4 *)((int)&clone_info->length + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&clone_info->length + 4)" ( (binary_expression "(int)&clone_info->length + 4" (cast_expression "(int)&clone_info->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&clone_info->length" & (field_expression "clone_info->length" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar14 = (undefined4)clone_info->length;" (assignment_expression "uVar14 = (undefined4)clone_info->length" identifier = (cast_expression "(undefined4)clone_info->length" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "clone_info->length" identifier -> field_identifier))) ;) (if_statement "if (((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)) goto LAB_00050cf5;" if (parenthesized_expression "(((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache))" ( (binary_expression "((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))\n             || ((clone_info->type & ~MemoryCache) != UndefinedCache)" (parenthesized_expression "((MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0))" ( (binary_expression "(MVar11 == MagickFalse) ||\n              (local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0)" (parenthesized_expression "(MVar11 == MagickFalse)" ( (binary_expression "MVar11 == MagickFalse" identifier == identifier) )) || (parenthesized_expression "(local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0)" ( (binary_expression "local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20) != 0" (binary_expression "local_4468 * uVar13 + (int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20)" (binary_expression "local_4468 * uVar13" identifier * identifier) + (cast_expression "(int)((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar13 * (size & 0xffffffff) >> 0x20)" ( (binary_expression "(ulonglong)uVar13 * (size & 0xffffffff) >> 0x20" (binary_expression "(ulonglong)uVar13 * (size & 0xffffffff)" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (parenthesized_expression "(size & 0xffffffff)" ( (binary_expression "size & 0xffffffff" identifier & number_literal) ))) >> number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "((clone_info->type & ~MemoryCache) != UndefinedCache)" ( (binary_expression "(clone_info->type & ~MemoryCache) != UndefinedCache" (parenthesized_expression "(clone_info->type & ~MemoryCache)" ( (binary_expression "clone_info->type & ~MemoryCache" (field_expression "clone_info->type" identifier -> field_identifier) & (unary_expression "~MemoryCache" ~ identifier)) )) != identifier) ))) )) (goto_statement "goto LAB_00050cf5;" goto statement_identifier ;)) (expression_statement "MVar11 = AcquireMagickResource(MemoryResource,clone_info->length);" (assignment_expression "MVar11 = AcquireMagickResource(MemoryResource,clone_info->length)" identifier = (call_expression "AcquireMagickResource(MemoryResource,clone_info->length)" identifier (argument_list "(MemoryResource,clone_info->length)" ( identifier , (field_expression "clone_info->length" identifier -> field_identifier) )))) ;) (if_statement "if (MVar11 == MagickFalse) goto LAB_00051068;" if (parenthesized_expression "(MVar11 == MagickFalse)" ( (binary_expression "MVar11 == MagickFalse" identifier == identifier) )) (goto_statement "goto LAB_00051068;" goto statement_identifier ;)) (expression_statement "sVar10 = (size_t)clone_info->length;" (assignment_expression "sVar10 = (size_t)clone_info->length" identifier = (cast_expression "(size_t)clone_info->length" ( (type_descriptor "size_t" primitive_type) ) (field_expression "clone_info->length" identifier -> field_identifier))) ;) (if_statement "if (cache_anonymous_memory < 1) {\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }\n          else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }" if (parenthesized_expression "(cache_anonymous_memory < 1)" ( (binary_expression "cache_anonymous_memory < 1" identifier < number_literal) )) (compound_statement "{\n            clone_info->mapped = MagickFalse;\n            pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);\n            clone_info->pixels = pQVar23;\n          }" { (expression_statement "clone_info->mapped = MagickFalse;" (assignment_expression "clone_info->mapped = MagickFalse" (field_expression "clone_info->mapped" identifier -> field_identifier) = identifier) ;) (expression_statement "pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10);" (assignment_expression "pQVar23 = (Quantum *)AcquireAlignedMemory(1,sVar10)" identifier = (cast_expression "(Quantum *)AcquireAlignedMemory(1,sVar10)" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireAlignedMemory(1,sVar10)" identifier (argument_list "(1,sVar10)" ( number_literal , identifier ))))) ;) (expression_statement "clone_info->pixels = pQVar23;" (assignment_expression "clone_info->pixels = pQVar23" (field_expression "clone_info->pixels" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }" else (compound_statement "{\n            clone_info->mapped = MagickTrue;\n            pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);\n            clone_info->pixels = pQVar23;\n          }" { (expression_statement "clone_info->mapped = MagickTrue;" (assignment_expression "clone_info->mapped = MagickTrue" (field_expression "clone_info->mapped" identifier -> field_identifier) = identifier) ;) (expression_statement "pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10);" (assignment_expression "pQVar23 = (Quantum *)MapBlob(-1,IOMode,0,sVar10)" identifier = (cast_expression "(Quantum *)MapBlob(-1,IOMode,0,sVar10)" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "MapBlob(-1,IOMode,0,sVar10)" identifier (argument_list "(-1,IOMode,0,sVar10)" ( number_literal , identifier , number_literal , identifier ))))) ;) (expression_statement "clone_info->pixels = pQVar23;" (assignment_expression "clone_info->pixels = pQVar23" (field_expression "clone_info->pixels" identifier -> field_identifier) = identifier) ;) }))) (if_statement "if (clone_info->pixels == (Quantum *)0x0) {\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }" if (parenthesized_expression "(clone_info->pixels == (Quantum *)0x0)" ( (binary_expression "clone_info->pixels == (Quantum *)0x0" (field_expression "clone_info->pixels" identifier -> field_identifier) == (cast_expression "(Quantum *)0x0" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            uVar12 = *(undefined4 *)((int)&clone_info->length + 4);\n            clone_info->mapped = source_info.mapped;\n            clone_info->pixels = source_info.pixels;\n            uVar14 = (undefined4)clone_info->length;\n            goto LAB_00050cf5;\n          }" { (expression_statement "uVar12 = *(undefined4 *)((int)&clone_info->length + 4);" (assignment_expression "uVar12 = *(undefined4 *)((int)&clone_info->length + 4)" identifier = (pointer_expression "*(undefined4 *)((int)&clone_info->length + 4)" * (cast_expression "(undefined4 *)((int)&clone_info->length + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&clone_info->length + 4)" ( (binary_expression "(int)&clone_info->length + 4" (cast_expression "(int)&clone_info->length" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&clone_info->length" & (field_expression "clone_info->length" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "clone_info->mapped = source_info.mapped;" (assignment_expression "clone_info->mapped = source_info.mapped" (field_expression "clone_info->mapped" identifier -> field_identifier) = (field_expression "source_info.mapped" identifier . field_identifier)) ;) (expression_statement "clone_info->pixels = source_info.pixels;" (assignment_expression "clone_info->pixels = source_info.pixels" (field_expression "clone_info->pixels" identifier -> field_identifier) = (field_expression "source_info.pixels" identifier . field_identifier)) ;) (expression_statement "uVar14 = (undefined4)clone_info->length;" (assignment_expression "uVar14 = (undefined4)clone_info->length" identifier = (cast_expression "(undefined4)clone_info->length" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "clone_info->length" identifier -> field_identifier))) ;) (goto_statement "goto LAB_00050cf5;" goto statement_identifier ;) })) (expression_statement "clone_info->type = MemoryCache;" (assignment_expression "clone_info->type = MemoryCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "clone_info->metacontent = (void *)0x0;" (assignment_expression "clone_info->metacontent = (void *)0x0" (field_expression "clone_info->metacontent" identifier -> field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (clone_info->metacontent_extent != 0) {\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }" if (parenthesized_expression "(clone_info->metacontent_extent != 0)" ( (binary_expression "clone_info->metacontent_extent != 0" (field_expression "clone_info->metacontent_extent" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n            clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;\n          }" { (expression_statement "clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)\n            ;" (assignment_expression "clone_info->metacontent =\n                 (Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)" (field_expression "clone_info->metacontent" identifier -> field_identifier) = (cast_expression "(Quantum *)(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)" ( (type_descriptor "Quantum *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels)" ( (binary_expression "clone_info->number_channels * 8 * local_446c + (int)clone_info->pixels" (binary_expression "clone_info->number_channels * 8 * local_446c" (binary_expression "clone_info->number_channels * 8" (field_expression "clone_info->number_channels" identifier -> field_identifier) * number_literal) * identifier) + (cast_expression "(int)clone_info->pixels" ( (type_descriptor "int" primitive_type) ) (field_expression "clone_info->pixels" identifier -> field_identifier))) )))) ;) })) (if_statement "if ((source_info.storage_class == UndefinedClass) || (mode == ReadMode)) {\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }\n          else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }" if (parenthesized_expression "((source_info.storage_class == UndefinedClass) || (mode == ReadMode))" ( (binary_expression "(source_info.storage_class == UndefinedClass) || (mode == ReadMode)" (parenthesized_expression "(source_info.storage_class == UndefinedClass)" ( (binary_expression "source_info.storage_class == UndefinedClass" (field_expression "source_info.storage_class" identifier . field_identifier) == identifier) )) || (parenthesized_expression "(mode == ReadMode)" ( (binary_expression "mode == ReadMode" identifier == identifier) ))) )) (compound_statement "{\n            pCVar26 = (CacheInfo *)0x1;\n            pCVar24 = clone_info;\n          }" { (expression_statement "pCVar26 = (CacheInfo *)0x1;" (assignment_expression "pCVar26 = (CacheInfo *)0x1" identifier = (cast_expression "(CacheInfo *)0x1" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCVar24 = clone_info;" (assignment_expression "pCVar24 = clone_info" identifier = identifier) ;) }) (else_clause "else {\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }" else (compound_statement "{\n            pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);\n            RelinquishPixelCachePixels(pCVar24);\n          }" { (expression_statement "pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception);" (assignment_expression "pCVar26 = (CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception)" identifier = (cast_expression "(CacheInfo *)ClonePixelCacheRepository(clone_info,pCVar24,exception)" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ClonePixelCacheRepository(clone_info,pCVar24,exception)" identifier (argument_list "(clone_info,pCVar24,exception)" ( identifier , identifier , identifier ))))) ;) (expression_statement "RelinquishPixelCachePixels(pCVar24);" (call_expression "RelinquishPixelCachePixels(pCVar24)" identifier (argument_list "(pCVar24)" ( identifier ))) ;) }))) (if_statement "if (image->debug != MagickFalse) {\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }" if (parenthesized_expression "(image->debug != MagickFalse)" ( (binary_expression "image->debug != MagickFalse" (field_expression "image->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n            pCVar21 = pCVar24;\n            FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);\n            type = clone_info->type;\n            pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);\n            local_4484 = (ulonglong)clone_info->number_channels;\n            dVar7 = (double)local_4484;\n            local_4484 = (ulonglong)clone_info->rows;\n            dVar8 = (double)local_4484;\n            pcVar22 = "Heap";\n            local_4484 = (ulonglong)clone_info->columns;\n            if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }\n            FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);\n            LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);\n          }" { (expression_statement "pCVar21 = pCVar24;" (assignment_expression "pCVar21 = pCVar24" identifier = identifier) ;) (expression_statement "FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format);" (call_expression "FormatMagickSize(clone_info->length,MagickTrue,"B",0x1000,format)" identifier (argument_list "(clone_info->length,MagickTrue,"B",0x1000,format)" ( (field_expression "clone_info->length" identifier -> field_identifier) , identifier , (string_literal ""B"" " string_content ") , number_literal , identifier ))) ;) (expression_statement "type = clone_info->type;" (assignment_expression "type = clone_info->type" identifier = (field_expression "clone_info->type" identifier -> field_identifier)) ;) (expression_statement "pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type);" (assignment_expression "pcVar19 = CommandOptionToMnemonic(MagickCacheOptions,type)" identifier = (call_expression "CommandOptionToMnemonic(MagickCacheOptions,type)" identifier (argument_list "(MagickCacheOptions,type)" ( identifier , identifier )))) ;) (expression_statement "local_4484 = (ulonglong)clone_info->number_channels;" (assignment_expression "local_4484 = (ulonglong)clone_info->number_channels" identifier = (cast_expression "(ulonglong)clone_info->number_channels" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->number_channels" identifier -> field_identifier))) ;) (expression_statement "dVar7 = (double)local_4484;" (assignment_expression "dVar7 = (double)local_4484" identifier = (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4484 = (ulonglong)clone_info->rows;" (assignment_expression "local_4484 = (ulonglong)clone_info->rows" identifier = (cast_expression "(ulonglong)clone_info->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->rows" identifier -> field_identifier))) ;) (expression_statement "dVar8 = (double)local_4484;" (assignment_expression "dVar8 = (double)local_4484" identifier = (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pcVar22 = "Heap";" (assignment_expression "pcVar22 = "Heap"" identifier = (string_literal ""Heap"" " string_content ")) ;) (expression_statement "local_4484 = (ulonglong)clone_info->columns;" (assignment_expression "local_4484 = (ulonglong)clone_info->columns" identifier = (cast_expression "(ulonglong)clone_info->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "clone_info->columns" identifier -> field_identifier))) ;) (if_statement "if (clone_info->mapped != MagickFalse) {\n              pcVar22 = "Anonymous";\n            }" if (parenthesized_expression "(clone_info->mapped != MagickFalse)" ( (binary_expression "clone_info->mapped != MagickFalse" (field_expression "clone_info->mapped" identifier -> field_identifier) != identifier) )) (compound_statement "{\n              pcVar22 = "Anonymous";\n            }" { (expression_statement "pcVar22 = "Anonymous";" (assignment_expression "pcVar22 = "Anonymous"" identifier = (string_literal ""Anonymous"" " string_content ")) ;) })) (expression_statement "FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21);" (call_expression "FormatLocaleString(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21)" identifier (argument_list "(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,\n                               pcVar22,pcVar19,SUB84((double)local_4484,0),\n                               (int)((ulonglong)(double)local_4484 >> 0x20),SUB84(dVar8,0),\n                               (int)((ulonglong)dVar8 >> 0x20),SUB84(dVar7,0),\n                               (int)((ulonglong)dVar7 >> 0x20),format,type,pCVar24,pCVar21)" ( identifier , number_literal , (string_literal ""open %s (%s %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , identifier , identifier , (call_expression "SUB84((double)local_4484,0)" identifier (argument_list "((double)local_4484,0)" ( (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier) , number_literal ))) , (cast_expression "(int)((ulonglong)(double)local_4484 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)(double)local_4484 >> 0x20)" ( (binary_expression "(ulonglong)(double)local_4484 >> 0x20" (cast_expression "(ulonglong)(double)local_4484" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier)) >> number_literal) ))) , (call_expression "SUB84(dVar8,0)" identifier (argument_list "(dVar8,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar8 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar8 >> 0x20)" ( (binary_expression "(ulonglong)dVar8 >> 0x20" (cast_expression "(ulonglong)dVar8" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , (call_expression "SUB84(dVar7,0)" identifier (argument_list "(dVar7,0)" ( identifier , number_literal ))) , (cast_expression "(int)((ulonglong)dVar7 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)dVar7 >> 0x20)" ( (binary_expression "(ulonglong)dVar7 >> 0x20" (cast_expression "(ulonglong)dVar7" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) , identifier , identifier , identifier , identifier ))) ;) (expression_statement "LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);" (call_expression "LogMagickEvent(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message)" identifier (argument_list "(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , identifier ))) ;) })) (expression_statement "clone_info->storage_class = image->storage_class;" (assignment_expression "clone_info->storage_class = image->storage_class" (field_expression "clone_info->storage_class" identifier -> field_identifier) = (field_expression "image->storage_class" identifier -> field_identifier)) ;) (labeled_statement "LAB_00051052:\n          if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }" statement_identifier : (if_statement "if (pCVar26 == (CacheInfo *)0x0) {\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }\n          else {\n            MVar11 = MagickTrue;\n          }" if (parenthesized_expression "(pCVar26 == (CacheInfo *)0x0)" ( (binary_expression "pCVar26 == (CacheInfo *)0x0" identifier == (cast_expression "(CacheInfo *)0x0" ( (type_descriptor "CacheInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            clone_info->type = UndefinedCache;\n            MVar11 = MagickFalse;\n          }" { (expression_statement "clone_info->type = UndefinedCache;" (assignment_expression "clone_info->type = UndefinedCache" (field_expression "clone_info->type" identifier -> field_identifier) = identifier) ;) (expression_statement "MVar11 = MagickFalse;" (assignment_expression "MVar11 = MagickFalse" identifier = identifier) ;) }) (else_clause "else {\n            MVar11 = MagickTrue;\n          }" else (compound_statement "{\n            MVar11 = MagickTrue;\n          }" { (expression_statement "MVar11 = MagickTrue;" (assignment_expression "MVar11 = MagickTrue" identifier = identifier) ;) })))) }))) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (expression_statement "pcVar22 = "PixelCacheAllocationFailed";" (assignment_expression "pcVar22 = "PixelCacheAllocationFailed"" identifier = (string_literal ""PixelCacheAllocationFailed"" " string_content ")) ;) (expression_statement "severity = ErrorException;" (assignment_expression "severity = ErrorException" identifier = identifier) ;) (expression_statement "sVar10 = 0xe8c;" (assignment_expression "sVar10 = 0xe8c" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_00050aff:\n  ThrowMagickException\n            (exception,"MagickCore/cache.c","OpenPixelCache",sVar10,severity,pcVar22,"`%s\'",\n             image->filename);" statement_identifier : (expression_statement "ThrowMagickException\n            (exception,"MagickCore/cache.c","OpenPixelCache",sVar10,severity,pcVar22,"`%s\'",\n             image->filename);" (call_expression "ThrowMagickException\n            (exception,"MagickCore/cache.c","OpenPixelCache",sVar10,severity,pcVar22,"`%s\'",\n             image->filename)" identifier (argument_list "(exception,"MagickCore/cache.c","OpenPixelCache",sVar10,severity,pcVar22,"`%s\'",\n             image->filename)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image->filename" identifier -> field_identifier) ))) ;)) (expression_statement "MVar11 = MagickFalse;" (assignment_expression "MVar11 = MagickFalse" identifier = identifier) ;) (labeled_statement "LAB_00050b1b:\n  if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(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 MVar11;" return identifier ;) })))
(translation_unit "undefined4 __regparm3 FUN_00050840(int *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  double dVar5;\n  double dVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte bVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  ulonglong uVar25;\n  __off64_t _Var26;\n  char *pcVar27;\n  ulonglong local_4494;\n  ulonglong local_4484;\n  ulonglong local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  int local_4434 [203];\n  int local_4108;\n  int local_4098;\n  undefined4 local_4090;\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x5084b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (param_1[0xab] == 0) {\n                    \n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }\n  if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);\n  uVar7 = 0;\nLAB_00050b1b:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar7;\n}\n\n" (function_definition "undefined4 __regparm3 FUN_00050840(int *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  double dVar5;\n  double dVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte bVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  ulonglong uVar25;\n  __off64_t _Var26;\n  char *pcVar27;\n  ulonglong local_4494;\n  ulonglong local_4484;\n  ulonglong local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  int local_4434 [203];\n  int local_4108;\n  int local_4098;\n  undefined4 local_4090;\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x5084b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (param_1[0xab] == 0) {\n                    \n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }\n  if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);\n  uVar7 = 0;\nLAB_00050b1b:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar7;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00050840(int *param_1,int param_2,undefined4 param_3)" identifier (parameter_list "(int *param_1,int param_2,undefined4 param_3)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  double dVar5;\n  double dVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte bVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  ulonglong uVar25;\n  __off64_t _Var26;\n  char *pcVar27;\n  ulonglong local_4494;\n  ulonglong local_4484;\n  ulonglong local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  int local_4434 [203];\n  int local_4108;\n  int local_4098;\n  undefined4 local_4090;\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x5084b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (param_1[0xab] == 0) {\n                    \n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }\n  if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);\n  uVar7 = 0;\nLAB_00050b1b:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar7;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "ulonglong uVar4;" type_identifier identifier ;) (declaration "double dVar5;" primitive_type identifier ;) (declaration "double dVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int *piVar10;" primitive_type (pointer_declarator "*piVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "ssize_t sVar13;" primitive_type identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "byte bVar22;" type_identifier identifier ;) (declaration "longlong lVar23;" type_identifier identifier ;) (declaration "undefined8 uVar24;" type_identifier identifier ;) (declaration "ulonglong uVar25;" type_identifier identifier ;) (declaration "__off64_t _Var26;" type_identifier identifier ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "ulonglong local_4494;" type_identifier identifier ;) (declaration "ulonglong local_4484;" type_identifier identifier ;) (declaration "ulonglong local_447c;" type_identifier identifier ;) (declaration "int local_446c;" primitive_type identifier ;) (declaration "int local_4468;" primitive_type identifier ;) (declaration "uint local_444c;" type_identifier identifier ;) (declaration "int local_4448;" primitive_type identifier ;) (declaration "int local_4434 [203];" primitive_type (array_declarator "local_4434 [203]" identifier [ number_literal ]) ;) (declaration "int local_4108;" primitive_type identifier ;) (declaration "int local_4098;" primitive_type identifier ;) (declaration "undefined4 local_4090;" type_identifier identifier ;) (declaration "undefined1 local_2020 [4096];" type_identifier (array_declarator "local_2020 [4096]" identifier [ number_literal ]) ;) (declaration "undefined1 local_1020 [4096];" type_identifier (array_declarator "local_1020 [4096]" identifier [ number_literal ]) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar22 = 0;" (assignment_expression "bVar22 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x5084b;" (assignment_expression "uStack_14 = 0x5084b" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }" { (expression_statement "__assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");" (call_expression "__assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache")" identifier (argument_list "("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache")" ( (string_literal ""image != (const Image *) NULL"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }" if (parenthesized_expression "(param_1[0xcd1] != -0x54535255)" ( (binary_expression "param_1[0xcd1] != -0x54535255" (subscript_expression "param_1[0xcd1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }" { (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache")" identifier (argument_list "("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache")" ( (string_literal ""image->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xab] == 0) {\n                    \n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }" if (parenthesized_expression "(param_1[0xab] == 0)" ( (binary_expression "param_1[0xab] == 0" (subscript_expression "param_1[0xab]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }" { (expression_statement "__assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");" (call_expression "__assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache")" identifier (argument_list "("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache")" ( (string_literal ""image->cache != (Cache) NULL"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (if_statement "if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }" if (parenthesized_expression "(param_1[0xcca] == 0)" ( (binary_expression "param_1[0xcca] == 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    bVar21 = DAT_003d9d78 < 0;\n  }" { (expression_statement "bVar21 = DAT_003d9d78 < 0;" (assignment_expression "bVar21 = DAT_003d9d78 < 0" identifier = (binary_expression "DAT_003d9d78 < 0" identifier < number_literal)) ;) }) (else_clause "else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }" else (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }" { (expression_statement "LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);" (call_expression "LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6)" identifier (argument_list "(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , (binary_expression "param_1 + 0xc6" identifier + number_literal) ))) ;) (expression_statement "bVar21 = DAT_003d9d78 < 0;" (assignment_expression "bVar21 = DAT_003d9d78 < 0" identifier = (binary_expression "DAT_003d9d78 < 0" identifier < number_literal)) ;) }))) (if_statement "if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }" if (parenthesized_expression "(bVar21)" ( identifier )) (compound_statement "{\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }" { (expression_statement "DAT_003d9d78 = 0;" (assignment_expression "DAT_003d9d78 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = GetPolicyValue("pixel-cache-memory");" (assignment_expression "iVar8 = GetPolicyValue("pixel-cache-memory")" identifier = (call_expression "GetPolicyValue("pixel-cache-memory")" identifier (argument_list "("pixel-cache-memory")" ( (string_literal ""pixel-cache-memory"" " string_content ") )))) ;) (if_statement "if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }" { (expression_statement "iVar8 = GetPolicyValue("cache:memory-map");" (assignment_expression "iVar8 = GetPolicyValue("cache:memory-map")" identifier = (call_expression "GetPolicyValue("cache:memory-map")" identifier (argument_list "("cache:memory-map")" ( (string_literal ""cache:memory-map"" " string_content ") )))) ;) })) (expression_statement "iVar16 = LocaleCompare(iVar8,"anonymous");" (assignment_expression "iVar16 = LocaleCompare(iVar8,"anonymous")" identifier = (call_expression "LocaleCompare(iVar8,"anonymous")" identifier (argument_list "(iVar8,"anonymous")" ( identifier , (string_literal ""anonymous"" " string_content ") )))) ;) (if_statement "if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n      DAT_003d9d78 = 1;\n    }" { (expression_statement "DAT_003d9d78 = 1;" (assignment_expression "DAT_003d9d78 = 1" identifier = number_literal) ;) })) (expression_statement "DestroyString(iVar8);" (call_expression "DestroyString(iVar8)" identifier (argument_list "(iVar8)" ( identifier ))) ;) })) (if_statement "if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }" if (parenthesized_expression "((param_1[6] == 0) || (param_1[7] == 0))" ( (binary_expression "(param_1[6] == 0) || (param_1[7] == 0)" (parenthesized_expression "(param_1[6] == 0)" ( (binary_expression "param_1[6] == 0" (subscript_expression "param_1[6]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(param_1[7] == 0)" ( (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }" { (expression_statement "pcVar27 = "NoPixelsDefinedInCache";" (assignment_expression "pcVar27 = "NoPixelsDefinedInCache"" identifier = (string_literal ""NoPixelsDefinedInCache"" " string_content ")) ;) (expression_statement "uVar11 = 0x1bd;" (assignment_expression "uVar11 = 0x1bd" identifier = number_literal) ;) (expression_statement "uVar7 = 0xe65;" (assignment_expression "uVar7 = 0xe65" identifier = number_literal) ;) }) (else_clause "else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }" else (compound_statement "{\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }" { (expression_statement "piVar15 = (int *)param_1[0xab];" (assignment_expression "piVar15 = (int *)param_1[0xab]" identifier = (cast_expression "(int *)param_1[0xab]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xab]" identifier [ number_literal ]))) ;) (if_statement "if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }" if (parenthesized_expression "(piVar15[0x8fe] != -0x54535255)" ( (binary_expression "piVar15[0x8fe] != -0x54535255" (subscript_expression "piVar15[0x8fe]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }" { (expression_statement "__assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");" (call_expression "__assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache")" identifier (argument_list "("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache")" ( (string_literal ""cache_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""MagickCore/cache.c"" " string_content ") , number_literal , (string_literal ""OpenPixelCache"" " string_content ") ))) ;) })) (expression_statement "piVar1 = param_1 + 0xc6;" (assignment_expression "piVar1 = param_1 + 0xc6" identifier = (binary_expression "param_1 + 0xc6" identifier + number_literal)) ;) (if_statement "if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }" if (parenthesized_expression "(((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7]))))" ( (binary_expression "((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))" (parenthesized_expression "((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6]))" ( (binary_expression "(piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])" (parenthesized_expression "(piVar15[0x902] == 0)" ( (binary_expression "piVar15[0x902] == 0" (subscript_expression "piVar15[0x902]" identifier [ number_literal ]) == number_literal) )) && (parenthesized_expression "((uint)piVar15[0x901] < (uint)param_1[6])" ( (binary_expression "(uint)piVar15[0x901] < (uint)param_1[6]" (cast_expression "(uint)piVar15[0x901]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[0x901]" identifier [ number_literal ])) < (cast_expression "(uint)param_1[6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[6]" identifier [ number_literal ]))) ))) )) || (parenthesized_expression "((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))" ( (parenthesized_expression "(piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7]))" ( (binary_expression "piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])" (binary_expression "piVar15[0x904] == 0" (subscript_expression "piVar15[0x904]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "((uint)piVar15[0x903] < (uint)param_1[7])" ( (binary_expression "(uint)piVar15[0x903] < (uint)param_1[7]" (cast_expression "(uint)piVar15[0x903]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[0x903]" identifier [ number_literal ])) < (cast_expression "(uint)param_1[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[7]" identifier [ number_literal ]))) ))) )) ))) )) (compound_statement "{\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }" { (expression_statement "pcVar27 = "WidthOrHeightExceedsLimit";" (assignment_expression "pcVar27 = "WidthOrHeightExceedsLimit"" identifier = (string_literal ""WidthOrHeightExceedsLimit"" " string_content ")) ;) (expression_statement "uVar11 = 0x1d1;" (assignment_expression "uVar11 = 0x1d1" identifier = number_literal) ;) (expression_statement "uVar7 = 0xe6b;" (assignment_expression "uVar7 = 0xe6b" identifier = number_literal) ;) }) (else_clause "else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }" else (compound_statement "{\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }" { (expression_statement "lVar23 = GetMagickResourceLimit(0xb);" (assignment_expression "lVar23 = GetMagickResourceLimit(0xb)" identifier = (call_expression "GetMagickResourceLimit(0xb)" identifier (argument_list "(0xb)" ( number_literal )))) ;) (if_statement "if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }" if (parenthesized_expression "(lVar23 != 0x7fffffffffffffff)" ( (binary_expression "lVar23 != 0x7fffffffffffffff" identifier != number_literal) )) (compound_statement "{\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }" { (expression_statement "uVar7 = GetImageListLength(param_1);" (assignment_expression "uVar7 = GetImageListLength(param_1)" identifier = (call_expression "GetImageListLength(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "iVar8 = AcquireMagickResource(0xb,uVar7,0);" (assignment_expression "iVar8 = AcquireMagickResource(0xb,uVar7,0)" identifier = (call_expression "AcquireMagickResource(0xb,uVar7,0)" identifier (argument_list "(0xb,uVar7,0)" ( number_literal , identifier , number_literal )))) ;) (if_statement "if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }" { (expression_statement "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);" (call_expression "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""ListLengthExceedsLimit"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) })) (expression_statement "piVar14 = local_4434;" (assignment_expression "piVar14 = local_4434" identifier = identifier) ;) (expression_statement "piVar10 = piVar15 + 0xea;" (assignment_expression "piVar10 = piVar15 + 0xea" identifier = (binary_expression "piVar15 + 0xea" identifier + number_literal)) ;) (expression_statement "memcpy(piVar14,piVar15,0x2414);" (call_expression "memcpy(piVar14,piVar15,0x2414)" identifier (argument_list "(piVar14,piVar15,0x2414)" ( identifier , identifier , number_literal ))) ;) (expression_statement "local_4090 = 0xffffffff;" (assignment_expression "local_4090 = 0xffffffff" identifier = number_literal) ;) (expression_statement "FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);" (call_expression "FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91])" identifier (argument_list "(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91])" ( identifier , number_literal , (string_literal ""%s[%.20g]"" " string_content ") , identifier , (cast_expression "(double)(uint)param_1[0x91]" ( (type_descriptor "double" primitive_type) ) (cast_expression "(uint)param_1[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "param_1[0x91]" identifier [ number_literal ]))) ))) ;) (expression_statement "*piVar15 = *param_1;" (assignment_expression "*piVar15 = *param_1" (pointer_expression "*piVar15" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "piVar15[1] = param_1[1];" (assignment_expression "piVar15[1] = param_1[1]" (subscript_expression "piVar15[1]" identifier [ number_literal ]) = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "piVar15[2] = param_1[0xa5];" (assignment_expression "piVar15[2] = param_1[0xa5]" (subscript_expression "piVar15[2]" identifier [ number_literal ]) = (subscript_expression "param_1[0xa5]" identifier [ number_literal ])) ;) (expression_statement "piVar15[3] = param_1[0xce8];" (assignment_expression "piVar15[3] = param_1[0xce8]" (subscript_expression "piVar15[3]" identifier [ number_literal ]) = (subscript_expression "param_1[0xce8]" identifier [ number_literal ])) ;) (expression_statement "piVar15[5] = param_1[7];" (assignment_expression "piVar15[5] = param_1[7]" (subscript_expression "piVar15[5]" identifier [ number_literal ]) = (subscript_expression "param_1[7]" identifier [ number_literal ])) ;) (expression_statement "piVar15[4] = param_1[6];" (assignment_expression "piVar15[4] = param_1[6]" (subscript_expression "piVar15[4]" identifier [ number_literal ]) = (subscript_expression "param_1[6]" identifier [ number_literal ])) ;) (expression_statement "InitializePixelChannelMap(param_1);" (call_expression "InitializePixelChannelMap(param_1)" identifier (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "iVar8 = param_1[0xa6];" (assignment_expression "iVar8 = param_1[0xa6]" identifier = (subscript_expression "param_1[0xa6]" identifier [ number_literal ])) ;) (expression_statement "piVar17 = (int *)param_1[0xaa];" (assignment_expression "piVar17 = (int *)param_1[0xaa]" identifier = (cast_expression "(int *)param_1[0xaa]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[0xaa]" identifier [ number_literal ]))) ;) (expression_statement "piVar15[7] = iVar8;" (assignment_expression "piVar15[7] = iVar8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar19 = piVar15 + 8;" (assignment_expression "piVar19 = piVar15 + 8" identifier = (binary_expression "piVar15 + 8" identifier + number_literal)) ;) (for_statement "for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }" for ( (assignment_expression "iVar16 = 0xc0" identifier = number_literal) ; (binary_expression "iVar16 != 0" identifier != number_literal) ; (assignment_expression "iVar16 = iVar16 + -1" identifier = (binary_expression "iVar16 + -1" identifier + number_literal)) ) (compound_statement "{\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }" { (expression_statement "*piVar19 = *piVar17;" (assignment_expression "*piVar19 = *piVar17" (pointer_expression "*piVar19" * identifier) = (pointer_expression "*piVar17" * identifier)) ;) (expression_statement "piVar17 = piVar17 + (uint)bVar22 * -2 + 1;" (assignment_expression "piVar17 = piVar17 + (uint)bVar22 * -2 + 1" identifier = (binary_expression "piVar17 + (uint)bVar22 * -2 + 1" (binary_expression "piVar17 + (uint)bVar22 * -2" identifier + (binary_expression "(uint)bVar22 * -2" (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "piVar19 = piVar19 + (uint)bVar22 * -2 + 1;" (assignment_expression "piVar19 = piVar19 + (uint)bVar22 * -2 + 1" identifier = (binary_expression "piVar19 + (uint)bVar22 * -2 + 1" (binary_expression "piVar19 + (uint)bVar22 * -2" identifier + (binary_expression "(uint)bVar22 * -2" (cast_expression "(uint)bVar22" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "iVar16 = param_1[0xa8];" (assignment_expression "iVar16 = param_1[0xa8]" identifier = (subscript_expression "param_1[0xa8]" identifier [ number_literal ])) ;) (expression_statement "uVar2 = piVar15[5];" (assignment_expression "uVar2 = piVar15[5]" identifier = (subscript_expression "piVar15[5]" identifier [ number_literal ])) ;) (expression_statement "piVar15[0xc9] = param_2;" (assignment_expression "piVar15[0xc9] = param_2" (subscript_expression "piVar15[0xc9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar3 = piVar15[4];" (assignment_expression "uVar3 = piVar15[4]" identifier = (subscript_expression "piVar15[4]" identifier [ number_literal ])) ;) (expression_statement "piVar15[6] = iVar16;" (assignment_expression "piVar15[6] = iVar16" (subscript_expression "piVar15[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;" (assignment_expression "uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2" identifier = (binary_expression "(ulonglong)uVar3 * (ulonglong)uVar2" (cast_expression "(ulonglong)uVar3" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar2" ( (type_descriptor "ulonglong" type_identifier) ) identifier))) ;) (expression_statement "uVar9 = iVar16 + iVar8 * 8;" (assignment_expression "uVar9 = iVar16 + iVar8 * 8" identifier = (binary_expression "iVar16 + iVar8 * 8" identifier + (binary_expression "iVar8 * 8" identifier * number_literal))) ;) (expression_statement "local_4468 = (int)(uVar4 >> 0x20);" (assignment_expression "local_4468 = (int)(uVar4 >> 0x20)" identifier = (cast_expression "(int)(uVar4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar4 >> 0x20)" ( (binary_expression "uVar4 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "local_446c = (int)uVar4;" (assignment_expression "local_446c = (int)uVar4" identifier = (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);" (assignment_expression "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff)" identifier = (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff)" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (parenthesized_expression "(uVar4 & 0xffffffff)" ( (binary_expression "uVar4 & 0xffffffff" identifier & number_literal) )))) ;) (expression_statement "iVar16 = (int)lVar23;" (assignment_expression "iVar16 = (int)lVar23" identifier = (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;" (assignment_expression "iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9" identifier = (binary_expression "(int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9" (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) + (binary_expression "local_4468 * uVar9" identifier * identifier))) ;) (expression_statement "uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);" (assignment_expression "uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0)" identifier = (call_expression "FUN_0029e870(iVar16,iVar8,uVar2,0)" identifier (argument_list "(iVar16,iVar8,uVar2,0)" ( identifier , identifier , identifier , number_literal )))) ;) (expression_statement "uVar9 = FUN_0029e870(uVar24,uVar9,0);" (assignment_expression "uVar9 = FUN_0029e870(uVar24,uVar9,0)" identifier = (call_expression "FUN_0029e870(uVar24,uVar9,0)" identifier (argument_list "(uVar24,uVar9,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }" if (parenthesized_expression "(((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2))" ( (binary_expression "((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)" (parenthesized_expression "((uVar3 == uVar9) && (-1 < (int)uVar3))" ( (binary_expression "(uVar3 == uVar9) && (-1 < (int)uVar3)" (parenthesized_expression "(uVar3 == uVar9)" ( (binary_expression "uVar3 == uVar9" identifier == identifier) )) && (parenthesized_expression "(-1 < (int)uVar3)" ( (binary_expression "-1 < (int)uVar3" number_literal < (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) && (parenthesized_expression "(-1 < (int)uVar2)" ( (binary_expression "-1 < (int)uVar2" number_literal < (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }" { (expression_statement "iVar18 = param_1[0xa2];" (assignment_expression "iVar18 = param_1[0xa2]" identifier = (subscript_expression "param_1[0xa2]" identifier [ number_literal ])) ;) (expression_statement "piVar15[0xce] = iVar16;" (assignment_expression "piVar15[0xce] = iVar16" (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0xcf] = iVar8;" (assignment_expression "piVar15[0xcf] = iVar8" (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) (expression_statement "*piVar15 = *param_1;" (assignment_expression "*piVar15 = *param_1" (pointer_expression "*piVar15" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "iVar8 = param_1[1];" (assignment_expression "iVar8 = param_1[1]" identifier = (subscript_expression "param_1[1]" identifier [ number_literal ])) ;) (expression_statement "piVar15[200] = 5;" (assignment_expression "piVar15[200] = 5" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[1] = iVar8;" (assignment_expression "piVar15[1] = iVar8" (subscript_expression "piVar15[1]" identifier [ number_literal ]) = identifier) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (expression_statement "iVar8 = AcquireMagickResource(1,uVar4);" (assignment_expression "iVar8 = AcquireMagickResource(1,uVar4)" identifier = (call_expression "AcquireMagickResource(1,uVar4)" identifier (argument_list "(1,uVar4)" ( number_literal , identifier )))) ;) (if_statement "if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }" if (parenthesized_expression "(piVar15[0xc9] == 3)" ( (binary_expression "piVar15[0xc9] == 3" (subscript_expression "piVar15[0xc9]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }" { (labeled_statement "LAB_00051068:\n          iVar16 = piVar15[0xcf];" statement_identifier : (expression_statement "iVar16 = piVar15[0xcf];" (assignment_expression "iVar16 = piVar15[0xcf]" identifier = (subscript_expression "piVar15[0xcf]" identifier [ number_literal ])) ;)) (expression_statement "iVar18 = piVar15[0xce];" (assignment_expression "iVar18 = piVar15[0xce]" identifier = (subscript_expression "piVar15[0xce]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);" statement_identifier : (expression_statement "iVar8 = AcquireMagickResource(2,iVar18,iVar16);" (assignment_expression "iVar8 = AcquireMagickResource(2,iVar18,iVar16)" identifier = (call_expression "AcquireMagickResource(2,iVar18,iVar16)" identifier (argument_list "(2,iVar18,iVar16)" ( number_literal , identifier , identifier )))) ;)) (expression_statement "iVar16 = GetImageRegistry(3,"cache:hosts",param_3);" (assignment_expression "iVar16 = GetImageRegistry(3,"cache:hosts",param_3)" identifier = (call_expression "GetImageRegistry(3,"cache:hosts",param_3)" identifier (argument_list "(3,"cache:hosts",param_3)" ( number_literal , (string_literal ""cache:hosts"" " string_content ") , identifier )))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }" if (parenthesized_expression "((iVar8 == 0) && (iVar16 != 0))" ( (binary_expression "(iVar8 == 0) && (iVar16 != 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) ))) )) (compound_statement "{\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }" { (expression_statement "iVar8 = FUN_0008aed0(param_3);" (assignment_expression "iVar8 = FUN_0008aed0(param_3)" identifier = (call_expression "FUN_0008aed0(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }" { (expression_statement "iVar16 = FUN_0008b670(iVar8,param_1);" (assignment_expression "iVar16 = FUN_0008b670(iVar8,param_1)" identifier = (call_expression "FUN_0008b670(iVar8,param_1)" identifier (argument_list "(iVar8,param_1)" ( identifier , identifier )))) ;) (if_statement "if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }" { (expression_statement "piVar15[0x8f6] = iVar8;" (assignment_expression "piVar15[0x8f6] = iVar8" (subscript_expression "piVar15[0x8f6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[200] = 2;" (assignment_expression "piVar15[200] = 2" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = FUN_0008b600(iVar8);" (assignment_expression "uVar7 = FUN_0008b600(iVar8)" identifier = (call_expression "FUN_0008b600(iVar8)" identifier (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar11 = FUN_0008b590(piVar15[0x8f6]);" (assignment_expression "uVar11 = FUN_0008b590(piVar15[0x8f6])" identifier = (call_expression "FUN_0008b590(piVar15[0x8f6])" identifier (argument_list "(piVar15[0x8f6])" ( (subscript_expression "piVar15[0x8f6]" identifier [ number_literal ]) )))) ;) (expression_statement "FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);" (call_expression "FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7)" identifier (argument_list "(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7)" ( (binary_expression "piVar15 + 0x4ea" identifier + number_literal) , number_literal , (string_literal ""%s:%d"" " string_content ") , identifier , identifier ))) ;) (if_statement "if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }" if (parenthesized_expression "((local_4434[0] == 0) || (param_2 == 0))" ( (binary_expression "(local_4434[0] == 0) || (param_2 == 0)" (parenthesized_expression "(local_4434[0] == 0)" ( (binary_expression "local_4434[0] == 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) ))) )) (compound_statement "{\n                  iVar8 = 1;\n                }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }" else (compound_statement "{\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }" { (expression_statement "iVar8 = FUN_0004ffc0();" (assignment_expression "iVar8 = FUN_0004ffc0()" identifier = (call_expression "FUN_0004ffc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004cba0();" (call_expression "FUN_0004cba0()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }" if (parenthesized_expression "(param_1[0xcca] != 0)" ( (binary_expression "param_1[0xcca] != 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }" { (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8)" identifier (argument_list "(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8)" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" identifier = (call_expression "CommandOptionToMnemonic(3,piVar15[200])" identifier (argument_list "(3,piVar15[200])" ( number_literal , (subscript_expression "piVar15[200]" identifier [ number_literal ]) )))) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[7]" identifier = (cast_expression "(ulonglong)(uint)piVar15[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[7]" identifier [ number_literal ])))) ;) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[5]" identifier = (cast_expression "(ulonglong)(uint)piVar15[5]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[5]" identifier [ number_literal ])))) ;) (expression_statement "local_447c = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_447c = (ulonglong)(uint)piVar15[4]" identifier = (cast_expression "(ulonglong)(uint)piVar15[4]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[4]" identifier [ number_literal ])))) ;) (expression_statement "uVar11 = FUN_0008b520(piVar15[0x8f6]);" (assignment_expression "uVar11 = FUN_0008b520(piVar15[0x8f6])" identifier = (call_expression "FUN_0008b520(piVar15[0x8f6])" identifier (argument_list "(piVar15[0x8f6])" ( (subscript_expression "piVar15[0x8f6]" identifier [ number_literal ]) )))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020)" identifier (argument_list "(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020)" ( identifier , number_literal , (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , (binary_expression "piVar15 + 0x4ea" identifier + number_literal) , identifier , identifier , (cast_expression "(double)local_447c" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier) , (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier) , identifier ))) ;) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020)" identifier (argument_list "(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) })) (goto_statement "goto LAB_00051052;" goto statement_identifier ;) })) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = GetExceptionMessage(*piVar10);" (assignment_expression "uVar11 = GetExceptionMessage(*piVar10)" identifier = (call_expression "GetExceptionMessage(*piVar10)" identifier (argument_list "(*piVar10)" ( (pointer_expression "*piVar10" * identifier) )))) ;) (expression_statement "uVar12 = FUN_0008b590(iVar8);" (assignment_expression "uVar12 = FUN_0008b590(iVar8)" identifier = (call_expression "FUN_0008b590(iVar8)" identifier (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);" (call_expression "ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToOpenPixelCache"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar11);" (call_expression "DestroyString(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) (expression_statement "FUN_0008ae40(iVar8);" (call_expression "FUN_0008ae40(iVar8)" identifier (argument_list "(iVar8)" ( identifier ))) ;) })) (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);" (call_expression "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""CacheResourcesExhausted"" " string_content ") , (string_literal ""`%s\'"" " string_content escape_sequence ") , identifier ))) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (if_statement "if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }" { (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pcVar27 = "CacheResourcesExhausted";" (assignment_expression "pcVar27 = "CacheResourcesExhausted"" identifier = (string_literal ""CacheResourcesExhausted"" " string_content ")) ;) (expression_statement "uVar11 = 0x1bd;" (assignment_expression "uVar11 = 0x1bd" identifier = number_literal) ;) (expression_statement "uVar7 = 0xf2b;" (assignment_expression "uVar7 = 0xf2b" identifier = number_literal) ;) (goto_statement "goto LAB_00050aff;" goto statement_identifier ;) })) (expression_statement "bVar21 = param_2 != 0;" (assignment_expression "bVar21 = param_2 != 0" identifier = (binary_expression "param_2 != 0" identifier != number_literal)) ;) (if_statement "if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }" if (parenthesized_expression "(((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3))" ( (binary_expression "((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)" (parenthesized_expression "((local_4434[0] != 0) && (bVar21))" ( (binary_expression "(local_4434[0] != 0) && (bVar21)" (parenthesized_expression "(local_4434[0] != 0)" ( (binary_expression "local_4434[0] != 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(bVar21)" ( identifier ))) )) && (parenthesized_expression "(piVar15[0xc9] != 3)" ( (binary_expression "piVar15[0xc9] != 3" (subscript_expression "piVar15[0xc9]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }" { (expression_statement "FUN_0004cb50();" (call_expression "FUN_0004cb50()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined1 *)(piVar15 + 0x4ea) = 0;" (assignment_expression "*(undefined1 *)(piVar15 + 0x4ea) = 0" (pointer_expression "*(undefined1 *)(piVar15 + 0x4ea)" * (cast_expression "(undefined1 *)(piVar15 + 0x4ea)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar15 + 0x4ea)" ( (binary_expression "piVar15 + 0x4ea" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar8 = FUN_0004cd50();" (assignment_expression "iVar8 = FUN_0004cd50()" identifier = (call_expression "FUN_0004cd50()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }" { (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar7 = GetExceptionMessage(*piVar15);" (assignment_expression "uVar7 = GetExceptionMessage(*piVar15)" identifier = (call_expression "GetExceptionMessage(*piVar15)" identifier (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);" (call_expression "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToOpenPixelCache"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar7);" (call_expression "DestroyString(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (expression_statement "iVar18 = piVar15[0xce] + piVar15[0xcc];" (assignment_expression "iVar18 = piVar15[0xce] + piVar15[0xcc]" identifier = (binary_expression "piVar15[0xce] + piVar15[0xcc]" (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) + (subscript_expression "piVar15[0xcc]" identifier [ number_literal ]))) ;) (expression_statement "iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);" (assignment_expression "iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc])" identifier = (binary_expression "piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc])" (binary_expression "piVar15[0xcf] + piVar15[0xcd]" (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) + (subscript_expression "piVar15[0xcd]" identifier [ number_literal ])) + (cast_expression "(uint)CARRY4(piVar15[0xce],piVar15[0xcc])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(piVar15[0xce],piVar15[0xcc])" identifier (argument_list "(piVar15[0xce],piVar15[0xcc])" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcc]" identifier [ number_literal ]) )))))) ;) (expression_statement "iVar8 = param_1[0xab];" (assignment_expression "iVar8 = param_1[0xab]" identifier = (subscript_expression "param_1[0xab]" identifier [ number_literal ])) ;) (expression_statement "iVar16 = param_1[0xcca];" (assignment_expression "iVar16 = param_1[0xcca]" identifier = (subscript_expression "param_1[0xcca]" identifier [ number_literal ])) ;) (if_statement "if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }" { (expression_statement "FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);" (call_expression "FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16)" identifier (argument_list "(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16)" ( identifier , identifier , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020)" identifier (argument_list "(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020)" ( identifier , number_literal , (string_literal ""extend %s (%s[%d], disk, %s)"" " string_content ") , (binary_expression "iVar8 + 0x3a8" identifier + number_literal) , (binary_expression "iVar8 + 0x13a8" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar8 + 0x3a4)" * (cast_expression "(undefined4 *)(iVar8 + 0x3a4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020)" identifier (argument_list "(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""SetPixelCacheExtent"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) })) (expression_statement "uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);" (assignment_expression "uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2)" identifier = (call_expression "lseek64(*(int *)(iVar8 + 0x3a4),0,2)" identifier (argument_list "(*(int *)(iVar8 + 0x3a4),0,2)" ( (pointer_expression "*(int *)(iVar8 + 0x3a4)" * (cast_expression "(int *)(iVar8 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , number_literal , number_literal )))) ;) (if_statement "if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }" if (parenthesized_expression "(-1 < (longlong)uVar25)" ( (binary_expression "-1 < (longlong)uVar25" number_literal < (cast_expression "(longlong)uVar25" ( (type_descriptor "longlong" type_identifier) ) identifier)) )) (compound_statement "{\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }" { (if_statement "if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }" if (parenthesized_expression "(uVar25 < CONCAT44(iVar20,iVar18))" ( (binary_expression "uVar25 < CONCAT44(iVar20,iVar18)" identifier < (call_expression "CONCAT44(iVar20,iVar18)" identifier (argument_list "(iVar20,iVar18)" ( identifier , identifier )))) )) (compound_statement "{\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }" { (expression_statement "uVar9 = iVar18 - 1;" (assignment_expression "uVar9 = iVar18 - 1" identifier = (binary_expression "iVar18 - 1" identifier - number_literal)) ;) (expression_statement "iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);" (assignment_expression "iVar16 = iVar20 + -1 + (uint)(iVar18 != 0)" identifier = (binary_expression "iVar20 + -1 + (uint)(iVar18 != 0)" (binary_expression "iVar20 + -1" identifier + number_literal) + (call_expression "(uint)(iVar18 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) ))))) ;) (do_statement "do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);" do (compound_statement "{\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              }" { (expression_statement "sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));" (assignment_expression "sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9))" identifier = (call_expression "pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9))" identifier (argument_list "(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9))" ( (pointer_expression "*(int *)(iVar8 + 0x3a4)" * (cast_expression "(int *)(iVar8 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , (pointer_expression "&DAT_0030570a" & identifier) , number_literal , (call_expression "CONCAT44(iVar16,uVar9)" identifier (argument_list "(iVar16,uVar9)" ( identifier , identifier ))) )))) ;) (if_statement "if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }" if (parenthesized_expression "(0 < sVar13)" ( (binary_expression "0 < sVar13" number_literal < identifier) )) (compound_statement "{\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }" { (if_statement "if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }" if (parenthesized_expression "(sVar13 == 1)" ( (binary_expression "sVar13 == 1" identifier == number_literal) )) (compound_statement "{\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }" { (if_statement "if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;" if (parenthesized_expression "(*(int *)(iVar8 + 0x23dc) == 0)" ( (binary_expression "*(int *)(iVar8 + 0x23dc) == 0" (pointer_expression "*(int *)(iVar8 + 0x23dc)" * (cast_expression "(int *)(iVar8 + 0x23dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x23dc)" ( (binary_expression "iVar8 + 0x23dc" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_00050fd6;" goto statement_identifier ;)) (expression_statement "local_444c = (uint)uVar25;" (assignment_expression "local_444c = (uint)uVar25" identifier = (cast_expression "(uint)uVar25" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_4448 = (int)(uVar25 >> 0x20);" (assignment_expression "local_4448 = (int)(uVar25 >> 0x20)" identifier = (cast_expression "(int)(uVar25 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar25 >> 0x20)" ( (binary_expression "uVar25 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));" (assignment_expression "iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c))" identifier = (call_expression "posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c))" identifier (argument_list "(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c))" ( (pointer_expression "*(int *)(iVar8 + 0x3a4)" * (cast_expression "(int *)(iVar8 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , (call_expression "CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1)" identifier (argument_list "(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1)" ( (binary_expression "local_4448 + (uint)(0xfffffffe < local_444c)" identifier + (call_expression "(uint)(0xfffffffe < local_444c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffffe < local_444c)" ( (binary_expression "0xfffffffe < local_444c" number_literal < identifier) )))) , (binary_expression "local_444c + 1" identifier + number_literal) ))) , (call_expression "CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c)" identifier (argument_list "((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c)" ( (binary_expression "(iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c)" (parenthesized_expression "(iVar16 - local_4448)" ( (binary_expression "iVar16 - local_4448" identifier - identifier) )) - (call_expression "(uint)(uVar9 < local_444c)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_444c)" ( (binary_expression "uVar9 < local_444c" identifier < identifier) )))) , (binary_expression "uVar9 - local_444c" identifier - identifier) ))) )))) ;) (if_statement "if (iVar16 == 0) goto LAB_00050fd6;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00050fd6;" goto statement_identifier ;)) })) (break_statement "break;" break ;) })) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) }) while (parenthesized_expression "(*piVar14 == 4)" ( (binary_expression "*piVar14 == 4" (pointer_expression "*piVar14" * identifier) == number_literal) )) ;) }) (else_clause "else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }" else (compound_statement "{\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }" { (labeled_statement "LAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);" statement_identifier : (expression_statement "_Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);" (assignment_expression "_Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0)" identifier = (call_expression "lseek64(*(int *)(iVar8 + 0x3a4),0,0)" identifier (argument_list "(*(int *)(iVar8 + 0x3a4),0,0)" ( (pointer_expression "*(int *)(iVar8 + 0x3a4)" * (cast_expression "(int *)(iVar8 + 0x3a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x3a4)" ( (binary_expression "iVar8 + 0x3a4" identifier + number_literal) )))) , number_literal , number_literal )))) ;)) (if_statement "if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }" if (parenthesized_expression "(-1 < _Var26)" ( (binary_expression "-1 < _Var26" number_literal < identifier) )) (compound_statement "{\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }" { (expression_statement "piVar15[200] = 1;" (assignment_expression "piVar15[200] = 1" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar9 = piVar15[6] + piVar15[7] * 8;" (assignment_expression "uVar9 = piVar15[6] + piVar15[7] * 8" identifier = (binary_expression "piVar15[6] + piVar15[7] * 8" (subscript_expression "piVar15[6]" identifier [ number_literal ]) + (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);" (assignment_expression "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff)" identifier = (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff)" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (parenthesized_expression "(uVar4 & 0xffffffff)" ( (binary_expression "uVar4 & 0xffffffff" identifier & number_literal) )))) ;) (expression_statement "iVar16 = (int)lVar23;" (assignment_expression "iVar16 = (int)lVar23" identifier = (cast_expression "(int)lVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }" if (parenthesized_expression "((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0))" ( (binary_expression "(local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)" (parenthesized_expression "(local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0)" ( (binary_expression "local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0" (binary_expression "local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20)" (binary_expression "local_4468 * uVar9" identifier * identifier) + (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" ( (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) == number_literal) )) && (parenthesized_expression "(iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)" ( (comma_expression "iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0" (assignment_expression "iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468)" identifier = (call_expression "AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468)" identifier (argument_list "(5,piVar15[0xce],piVar15[0xcf],local_4468)" ( number_literal , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , identifier )))) , (binary_expression "iVar16 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }" { (expression_statement "iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);" (assignment_expression "iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce])" identifier = (call_expression "MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce])" identifier (argument_list "(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce])" ( (subscript_expression "piVar15[0xe9]" identifier [ number_literal ]) , identifier , (subscript_expression "piVar15[0xcc]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcd]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar15[0xe7] = iVar8;" (assignment_expression "piVar15[0xe7] = iVar8" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }" { (expression_statement "piVar15[0xcb] = local_4108;" (assignment_expression "piVar15[0xcb] = local_4108" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0xe7] = local_4098;" (assignment_expression "piVar15[0xe7] = local_4098" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);" (assignment_expression "iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15)" identifier = (call_expression "RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15)" identifier (argument_list "(5,piVar15[0xce],piVar15[0xcf],piVar15)" ( number_literal , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , identifier )))) ;) (goto_statement "goto LAB_0005102c;" goto statement_identifier ;) })) (expression_statement "FUN_0004cb50();" (call_expression "FUN_0004cb50()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar15[200] = 3;" (assignment_expression "piVar15[200] = 3" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[0xcb] = 1;" (assignment_expression "piVar15[0xcb] = 1" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[0xe8] = 0;" (assignment_expression "piVar15[0xe8] = 0" (subscript_expression "piVar15[0xe8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }" if (parenthesized_expression "(piVar15[6] != 0)" ( (binary_expression "piVar15[6] != 0" (subscript_expression "piVar15[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }" { (expression_statement "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];" (assignment_expression "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7]" (subscript_expression "piVar15[0xe8]" identifier [ number_literal ]) = (binary_expression "piVar15[7] * 8 * local_446c + piVar15[0xe7]" (binary_expression "piVar15[7] * 8 * local_446c" (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) * number_literal) * identifier) + (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]))) ;) })) (if_statement "if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }" if (parenthesized_expression "((local_4434[0] != 0) && (bVar21))" ( (binary_expression "(local_4434[0] != 0) && (bVar21)" (parenthesized_expression "(local_4434[0] != 0)" ( (binary_expression "local_4434[0] != 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(bVar21)" ( identifier ))) )) (compound_statement "{\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }" { (expression_statement "iVar16 = FUN_0004ffc0();" (assignment_expression "iVar16 = FUN_0004ffc0()" identifier = (call_expression "FUN_0004ffc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004cba0();" (call_expression "FUN_0004cba0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar8 = iVar16;" (assignment_expression "iVar8 = iVar16" identifier = identifier) ;) (if_statement "if (param_1[0xcca] == 0) goto LAB_00051052;" if (parenthesized_expression "(param_1[0xcca] == 0)" ( (binary_expression "param_1[0xcca] == 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00051052;" goto statement_identifier ;)) (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1)" identifier (argument_list "(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1)" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" identifier = (call_expression "CommandOptionToMnemonic(3,piVar15[200])" identifier (argument_list "(3,piVar15[200])" ( number_literal , (subscript_expression "piVar15[200]" identifier [ number_literal ]) )))) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[7]" identifier = (cast_expression "(ulonglong)(uint)piVar15[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[7]" identifier [ number_literal ])))) ;) (expression_statement "dVar5 = (double)local_4494;" (assignment_expression "dVar5 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[5]" identifier = (cast_expression "(ulonglong)(uint)piVar15[5]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[5]" identifier [ number_literal ])))) ;) (expression_statement "dVar6 = (double)local_4494;" (assignment_expression "dVar6 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[4]" identifier = (cast_expression "(ulonglong)(uint)piVar15[4]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[4]" identifier [ number_literal ])))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" identifier (argument_list "(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" ( identifier , number_literal , (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , (binary_expression "piVar15 + 0x4ea" identifier + number_literal) , (subscript_expression "piVar15[0xe9]" identifier [ number_literal ]) , identifier , (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = 0xf74;" (assignment_expression "uVar7 = 0xf74" identifier = number_literal) ;) }) (else_clause "else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }" else (compound_statement "{\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }" { (labeled_statement "LAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" statement_identifier : (if_statement "if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" if (parenthesized_expression "((local_4434[0] == 0) || (!bVar21))" ( (binary_expression "(local_4434[0] == 0) || (!bVar21)" (parenthesized_expression "(local_4434[0] == 0)" ( (binary_expression "local_4434[0] == 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(!bVar21)" ( (unary_expression "!bVar21" ! identifier) ))) )) (compound_statement "{\n                    iVar8 = 1;\n                  }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" else (compound_statement "{\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" { (expression_statement "iVar8 = FUN_0004ffc0();" (assignment_expression "iVar8 = FUN_0004ffc0()" identifier = (call_expression "FUN_0004ffc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar16 = FUN_0004cba0();" (assignment_expression "iVar16 = FUN_0004cba0()" identifier = (call_expression "FUN_0004cba0()" identifier (argument_list "()" ( )))) ;) })))) (if_statement "if (param_1[0xcca] == 0) goto LAB_00051052;" if (parenthesized_expression "(param_1[0xcca] == 0)" ( (binary_expression "param_1[0xcca] == 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto LAB_00051052;" goto statement_identifier ;)) (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16)" identifier (argument_list "(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16)" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" identifier = (call_expression "CommandOptionToMnemonic(3,piVar15[200])" identifier (argument_list "(3,piVar15[200])" ( number_literal , (subscript_expression "piVar15[200]" identifier [ number_literal ]) )))) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[7]" identifier = (cast_expression "(ulonglong)(uint)piVar15[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[7]" identifier [ number_literal ])))) ;) (expression_statement "dVar5 = (double)local_4494;" (assignment_expression "dVar5 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[5]" identifier = (cast_expression "(ulonglong)(uint)piVar15[5]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[5]" identifier [ number_literal ])))) ;) (expression_statement "dVar6 = (double)local_4494;" (assignment_expression "dVar6 = (double)local_4494" identifier = (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[4]" identifier = (cast_expression "(ulonglong)(uint)piVar15[4]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[4]" identifier [ number_literal ])))) ;) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" identifier (argument_list "(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" ( identifier , number_literal , (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , (binary_expression "piVar15 + 0x4ea" identifier + number_literal) , (subscript_expression "piVar15[0xe9]" identifier [ number_literal ]) , identifier , (cast_expression "(double)local_4494" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = 0xf91;" (assignment_expression "uVar7 = 0xf91" identifier = number_literal) ;) (expression_statement "iVar16 = iVar8;" (assignment_expression "iVar16 = iVar8" identifier = identifier) ;) }))) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020)" identifier (argument_list "(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , identifier , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) (expression_statement "iVar8 = iVar16;" (assignment_expression "iVar8 = iVar16" identifier = identifier) ;) (goto_statement "goto LAB_00051052;" goto statement_identifier ;) })) }))) })) (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar11 = GetExceptionMessage(*piVar15);" (assignment_expression "uVar11 = GetExceptionMessage(*piVar15)" identifier = (call_expression "GetExceptionMessage(*piVar15)" identifier (argument_list "(*piVar15)" ( (pointer_expression "*piVar15" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);" (call_expression "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , number_literal , (string_literal ""UnableToExtendCache"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(uVar11);" (call_expression "DestroyString(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) }) (else_clause "else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }" else (compound_statement "{\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }" { (expression_statement "uVar9 = piVar15[6] + piVar15[7] * 8;" (assignment_expression "uVar9 = piVar15[6] + piVar15[7] * 8" identifier = (binary_expression "piVar15[6] + piVar15[7] * 8" (subscript_expression "piVar15[6]" identifier [ number_literal ]) + (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) * number_literal))) ;) (expression_statement "iVar16 = piVar15[0xcf];" (assignment_expression "iVar16 = piVar15[0xcf]" identifier = (subscript_expression "piVar15[0xcf]" identifier [ number_literal ])) ;) (expression_statement "iVar18 = piVar15[0xce];" (assignment_expression "iVar18 = piVar15[0xce]" identifier = (subscript_expression "piVar15[0xce]" identifier [ number_literal ])) ;) (if_statement "if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;" if (parenthesized_expression "(((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0))" ( (binary_expression "((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)" (parenthesized_expression "((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0))" ( (binary_expression "(iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)" ( (binary_expression "local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0" (binary_expression "local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20)" (binary_expression "local_4468 * uVar9" identifier * identifier) + (cast_expression "(int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20)" ( (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20" (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff)" (cast_expression "(ulonglong)uVar9" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (parenthesized_expression "(uVar4 & 0xffffffff)" ( (binary_expression "uVar4 & 0xffffffff" identifier & number_literal) ))) >> number_literal) )))) != number_literal) ))) )) || (parenthesized_expression "((piVar15[200] & 0xfffffffbU) != 0)" ( (binary_expression "(piVar15[200] & 0xfffffffbU) != 0" (parenthesized_expression "(piVar15[200] & 0xfffffffbU)" ( (binary_expression "piVar15[200] & 0xfffffffbU" (subscript_expression "piVar15[200]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_00050cf5;" goto statement_identifier ;)) (expression_statement "iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);" (assignment_expression "iVar16 = AcquireMagickResource(6,iVar18,iVar16,0)" identifier = (call_expression "AcquireMagickResource(6,iVar18,iVar16,0)" identifier (argument_list "(6,iVar18,iVar16,0)" ( number_literal , identifier , identifier , number_literal )))) ;) (if_statement "if (iVar16 == 0) goto LAB_00051068;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00051068;" goto statement_identifier ;)) (if_statement "if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }" if (parenthesized_expression "(DAT_003d9d78 < 1)" ( (binary_expression "DAT_003d9d78 < 1" identifier < number_literal) )) (compound_statement "{\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }" { (expression_statement "piVar15[0xcb] = 0;" (assignment_expression "piVar15[0xcb] = 0" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);" (assignment_expression "iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8)" identifier = (call_expression "AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8)" identifier (argument_list "(1,piVar15[0xce],iVar8,iVar8)" ( number_literal , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , identifier , identifier )))) ;) (expression_statement "piVar15[0xe7] = iVar8;" (assignment_expression "piVar15[0xe7] = iVar8" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }" else (compound_statement "{\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }" { (expression_statement "piVar15[0xcb] = 1;" (assignment_expression "piVar15[0xcb] = 1" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);" (assignment_expression "iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce])" identifier = (call_expression "MapBlob(0xffffffff,2,0,0,piVar15[0xce])" identifier (argument_list "(0xffffffff,2,0,0,piVar15[0xce])" ( number_literal , number_literal , number_literal , number_literal , (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) )))) ;) (expression_statement "piVar15[0xe7] = iVar8;" (assignment_expression "piVar15[0xe7] = iVar8" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) }))) (if_statement "if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }" if (parenthesized_expression "(piVar15[0xe7] == 0)" ( (binary_expression "piVar15[0xe7] == 0" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }" { (expression_statement "iVar16 = piVar15[0xcf];" (assignment_expression "iVar16 = piVar15[0xcf]" identifier = (subscript_expression "piVar15[0xcf]" identifier [ number_literal ])) ;) (expression_statement "piVar15[0xcb] = local_4108;" (assignment_expression "piVar15[0xcb] = local_4108" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar15[0xe7] = local_4098;" (assignment_expression "piVar15[0xe7] = local_4098" (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "iVar18 = piVar15[0xce];" (assignment_expression "iVar18 = piVar15[0xce]" identifier = (subscript_expression "piVar15[0xce]" identifier [ number_literal ])) ;) (goto_statement "goto LAB_00050cf5;" goto statement_identifier ;) })) (expression_statement "piVar15[200] = 4;" (assignment_expression "piVar15[200] = 4" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar15[0xe8] = 0;" (assignment_expression "piVar15[0xe8] = 0" (subscript_expression "piVar15[0xe8]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }" if (parenthesized_expression "(piVar15[6] != 0)" ( (binary_expression "piVar15[6] != 0" (subscript_expression "piVar15[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }" { (expression_statement "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];" (assignment_expression "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7]" (subscript_expression "piVar15[0xe8]" identifier [ number_literal ]) = (binary_expression "piVar15[7] * 8 * local_446c + piVar15[0xe7]" (binary_expression "piVar15[7] * 8 * local_446c" (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" identifier [ number_literal ]) * number_literal) * identifier) + (subscript_expression "piVar15[0xe7]" identifier [ number_literal ]))) ;) })) (if_statement "if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }" if (parenthesized_expression "((local_4434[0] == 0) || (param_2 == 0))" ( (binary_expression "(local_4434[0] == 0) || (param_2 == 0)" (parenthesized_expression "(local_4434[0] == 0)" ( (binary_expression "local_4434[0] == 0" (subscript_expression "local_4434[0]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) ))) )) (compound_statement "{\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "piVar14 = piVar15;" (assignment_expression "piVar14 = piVar15" identifier = identifier) ;) }) (else_clause "else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }" else (compound_statement "{\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }" { (expression_statement "iVar8 = FUN_0004ffc0();" (assignment_expression "iVar8 = FUN_0004ffc0()" identifier = (call_expression "FUN_0004ffc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004cba0();" (call_expression "FUN_0004cba0()" identifier (argument_list "()" ( ))) ;) }))) (if_statement "if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }" if (parenthesized_expression "(param_1[0xcca] != 0)" ( (binary_expression "param_1[0xcca] != 0" (subscript_expression "param_1[0xcca]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }" { (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14)" identifier (argument_list "(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14)" ( (subscript_expression "piVar15[0xce]" identifier [ number_literal ]) , (subscript_expression "piVar15[0xcf]" identifier [ number_literal ]) , number_literal , (pointer_expression "&DAT_0030c34a" & identifier) , number_literal , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" identifier = (call_expression "CommandOptionToMnemonic(3,piVar15[200])" identifier (argument_list "(3,piVar15[200])" ( number_literal , (subscript_expression "piVar15[200]" identifier [ number_literal ]) )))) ;) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[7]" identifier = (cast_expression "(ulonglong)(uint)piVar15[7]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[7]" identifier [ number_literal ])))) ;) (expression_statement "dVar5 = (double)local_4484;" (assignment_expression "dVar5 = (double)local_4484" identifier = (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[5]" identifier = (cast_expression "(ulonglong)(uint)piVar15[5]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[5]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[5]" identifier [ number_literal ])))) ;) (expression_statement "dVar6 = (double)local_4484;" (assignment_expression "dVar6 = (double)local_4484" identifier = (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier)) ;) (expression_statement "pcVar27 = "Heap";" (assignment_expression "pcVar27 = "Heap"" identifier = (string_literal ""Heap"" " string_content ")) ;) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[4]" identifier = (cast_expression "(ulonglong)(uint)piVar15[4]" ( (type_descriptor "ulonglong" type_identifier) ) (cast_expression "(uint)piVar15[4]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar15[4]" identifier [ number_literal ])))) ;) (if_statement "if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }" if (parenthesized_expression "(piVar15[0xcb] != 0)" ( (binary_expression "piVar15[0xcb] != 0" (subscript_expression "piVar15[0xcb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n              pcVar27 = "Anonymous";\n            }" { (expression_statement "pcVar27 = "Anonymous";" (assignment_expression "pcVar27 = "Anonymous"" identifier = (string_literal ""Anonymous"" " string_content ")) ;) })) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020)" identifier (argument_list "(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020)" ( identifier , number_literal , (string_literal ""open %s (%s %s, %.20gx%.20gx%.20g %s)"" " string_content ") , identifier , identifier , identifier , (cast_expression "(double)local_4484" ( (type_descriptor "double" primitive_type) ) identifier) , identifier , identifier , identifier ))) ;) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020)" identifier (argument_list "(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020)" ( number_literal , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , number_literal , (pointer_expression "&DAT_002b6e4e" & identifier) , identifier ))) ;) })) (expression_statement "*piVar15 = *param_1;" (assignment_expression "*piVar15 = *param_1" (pointer_expression "*piVar15" * identifier) = (pointer_expression "*param_1" * identifier)) ;) (labeled_statement "LAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }" statement_identifier : (if_statement "if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }" { (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            uVar7 = 1;\n          }" else (compound_statement "{\n            uVar7 = 1;\n          }" { (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" identifier = number_literal) ;) })))) }))) (goto_statement "goto LAB_00050b1b;" goto statement_identifier ;) })) (expression_statement "pcVar27 = "PixelCacheAllocationFailed";" (assignment_expression "pcVar27 = "PixelCacheAllocationFailed"" identifier = (string_literal ""PixelCacheAllocationFailed"" " string_content ")) ;) (expression_statement "uVar11 = 400;" (assignment_expression "uVar11 = 400" identifier = number_literal) ;) (expression_statement "uVar7 = 0xe8c;" (assignment_expression "uVar7 = 0xe8c" identifier = number_literal) ;) }))) }))) (labeled_statement "LAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);" statement_identifier : (expression_statement "ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);" (call_expression "ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6)" identifier (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6)" ( identifier , (string_literal ""MagickCore/cache.c"" " string_content ") , (string_literal ""OpenPixelCache"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0xc6" identifier + number_literal) ))) ;)) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00050b1b:\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 uVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 (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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE 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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }) (else_clause else (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) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < LIT)) ;) }))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (for_statement for ( (assignment_expression IDENT = LIT) ; (binary_expression IDENT != LIT) ; (assignment_expression IDENT = (binary_expression IDENT + LIT)) ) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (binary_expression IDENT * IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) && (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (string_literal " string_content ") , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , LIT , (pointer_expression & IDENT) , LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , IDENT , (binary_expression IDENT + LIT) , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , IDENT ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (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 " escape_sequence string_content escape_sequence string_content ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (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 ") , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( IDENT ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " escape_sequence string_content escape_sequence string_content ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (pointer_expression & IDENT) , LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , (binary_expression IDENT + LIT) , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression & IDENT) , LIT , (call_expression IDENT (argument_list ( IDENT , IDENT ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (call_expression IDENT (argument_list ( (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))) , (binary_expression IDENT + LIT) ))) , (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) , (binary_expression IDENT - IDENT) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) * IDENT) + (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , LIT , (pointer_expression & IDENT) , LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , IDENT , (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , LIT , (pointer_expression & IDENT) , LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , IDENT , (binary_expression IDENT + LIT) , (subscript_expression IDENT [ LIT ]) , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , LIT , (string_literal " string_content ") , (string_literal " escape_sequence string_content escape_sequence string_content ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (subscript_expression IDENT [ LIT ]) * LIT))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (parenthesized_expression ( (binary_expression IDENT & LIT) ))) >> LIT) )))) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , LIT , LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) * LIT) * IDENT) + (subscript_expression IDENT [ LIT ]))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , LIT , (pointer_expression & IDENT) , LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , IDENT , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })))) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , IDENT , IDENT , (string_literal " string_content escape_sequence ") , (binary_expression IDENT + LIT) ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 __regparm3 FUN_00050840(int *param_1,int param_2,undefined4 param_3)\n\n{\n  int *piVar1;\n  uint uVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  double dVar5;\n  double dVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte bVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  ulonglong uVar25;\n  __off64_t _Var26;\n  char *pcVar27;\n  ulonglong local_4494;\n  ulonglong local_4484;\n  ulonglong local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  int local_4434 [203];\n  int local_4108;\n  int local_4098;\n  undefined4 local_4090;\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x5084b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (param_1[0xab] == 0) {\n                    \n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }\n  if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);\n  uVar7 = 0;\nLAB_00050b1b:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar7;\n}" (type_identifier "undefined4") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00050840(int *param_1,int param_2,undefined4 param_3)" (identifier "FUN_00050840") (parameter_list "(int *param_1,int param_2,undefined4 param_3)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) () ")"))) (compound_statement "{\n  int *piVar1;\n  uint uVar2;\n  uint uVar3;\n  ulonglong uVar4;\n  double dVar5;\n  double dVar6;\n  undefined4 uVar7;\n  int iVar8;\n  uint uVar9;\n  int *piVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  ssize_t sVar13;\n  int *piVar14;\n  int *piVar15;\n  int iVar16;\n  int *piVar17;\n  int iVar18;\n  int *piVar19;\n  int iVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  byte bVar22;\n  longlong lVar23;\n  undefined8 uVar24;\n  ulonglong uVar25;\n  __off64_t _Var26;\n  char *pcVar27;\n  ulonglong local_4494;\n  ulonglong local_4484;\n  ulonglong local_447c;\n  int local_446c;\n  int local_4468;\n  uint local_444c;\n  int local_4448;\n  int local_4434 [203];\n  int local_4108;\n  int local_4098;\n  undefined4 local_4090;\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar22 = 0;\n  uStack_14 = 0x5084b;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }\n  if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }\n  if (param_1[0xab] == 0) {\n                    \n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }\n  if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }\n  if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }\nLAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);\n  uVar7 = 0;\nLAB_00050b1b:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }\n  return uVar7;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "ulonglong uVar4;" (type_identifier "ulonglong") (identifier "uVar4") (; ";")) (declaration "double dVar5;" (primitive_type "double") (identifier "dVar5") (; ";")) (declaration "double dVar6;" (primitive_type "double") (identifier "dVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "int *piVar10;" (primitive_type "int") (pointer_declarator "*piVar10" (* "*") (identifier "piVar10")) (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "ssize_t sVar13;" (primitive_type "ssize_t") (identifier "sVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int *piVar15;" (primitive_type "int") (pointer_declarator "*piVar15" (* "*") (identifier "piVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "int *piVar17;" (primitive_type "int") (pointer_declarator "*piVar17" (* "*") (identifier "piVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar21;" (primitive_type "bool") (identifier "bVar21") (; ";")) (declaration "byte bVar22;" (type_identifier "byte") (identifier "bVar22") (; ";")) (declaration "longlong lVar23;" (type_identifier "longlong") (identifier "lVar23") (; ";")) (declaration "undefined8 uVar24;" (type_identifier "undefined8") (identifier "uVar24") (; ";")) (declaration "ulonglong uVar25;" (type_identifier "ulonglong") (identifier "uVar25") (; ";")) (declaration "__off64_t _Var26;" (type_identifier "__off64_t") (identifier "_Var26") (; ";")) (declaration "char *pcVar27;" (primitive_type "char") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "ulonglong local_4494;" (type_identifier "ulonglong") (identifier "local_4494") (; ";")) (declaration "ulonglong local_4484;" (type_identifier "ulonglong") (identifier "local_4484") (; ";")) (declaration "ulonglong local_447c;" (type_identifier "ulonglong") (identifier "local_447c") (; ";")) (declaration "int local_446c;" (primitive_type "int") (identifier "local_446c") (; ";")) (declaration "int local_4468;" (primitive_type "int") (identifier "local_4468") (; ";")) (declaration "uint local_444c;" (type_identifier "uint") (identifier "local_444c") (; ";")) (declaration "int local_4448;" (primitive_type "int") (identifier "local_4448") (; ";")) (declaration "int local_4434 [203];" (primitive_type "int") (array_declarator "local_4434 [203]" (identifier "local_4434") ([ "[") (number_literal "203") (] "]")) (; ";")) (declaration "int local_4108;" (primitive_type "int") (identifier "local_4108") (; ";")) (declaration "int local_4098;" (primitive_type "int") (identifier "local_4098") (; ";")) (declaration "undefined4 local_4090;" (type_identifier "undefined4") (identifier "local_4090") (; ";")) (declaration "undefined1 local_2020 [4096];" (type_identifier "undefined1") (array_declarator "local_2020 [4096]" (identifier "local_2020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "undefined1 local_1020 [4096];" (type_identifier "undefined1") (array_declarator "local_1020 [4096]" (identifier "local_1020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar22 = 0;" (assignment_expression "bVar22 = 0" (identifier "bVar22") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x5084b;" (assignment_expression "uStack_14 = 0x5084b" (identifier "uStack_14") (= "=") (number_literal "0x5084b")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (param_1 == (int *)0x0) {\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");\n  }" ({ "{") (expression_statement "__assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");" (call_expression "__assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache")" (identifier "__assert_fail") (argument_list "("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache")" (( "(") (string_literal ""image != (const Image *) NULL"" (" """) (string_content "image != (const Image *) NULL") (" """)) (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (number_literal "0xe47") (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[0xcd1] != -0x54535255) {\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }" (if "if") (parenthesized_expression "(param_1[0xcd1] != -0x54535255)" (( "(") (binary_expression "param_1[0xcd1] != -0x54535255" (subscript_expression "param_1[0xcd1]" (identifier "param_1") ([ "[") (number_literal "0xcd1") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");\n  }" ({ "{") (expression_statement "__assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache");" (call_expression "__assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache")" (identifier "__assert_fail") (argument_list "("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,\n                  "OpenPixelCache")" (( "(") (string_literal ""image->signature == MagickCoreSignature"" (" """) (string_content "image->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (number_literal "0xe48") (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[0xab] == 0) {\n                    \n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }" (if "if") (parenthesized_expression "(param_1[0xab] == 0)" (( "(") (binary_expression "param_1[0xab] == 0" (subscript_expression "param_1[0xab]" (identifier "param_1") ([ "[") (number_literal "0xab") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");\n  }" ({ "{") (expression_statement "__assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");" (call_expression "__assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache")" (identifier "__assert_fail") (argument_list "("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache")" (( "(") (string_literal ""image->cache != (Cache) NULL"" (" """) (string_content "image->cache != (Cache) NULL") (" """)) (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (number_literal "0xe49") (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_1[0xcca] == 0) {\n    bVar21 = DAT_003d9d78 < 0;\n  }\n  else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }" (if "if") (parenthesized_expression "(param_1[0xcca] == 0)" (( "(") (binary_expression "param_1[0xcca] == 0" (subscript_expression "param_1[0xcca]" (identifier "param_1") ([ "[") (number_literal "0xcca") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    bVar21 = DAT_003d9d78 < 0;\n  }" ({ "{") (expression_statement "bVar21 = DAT_003d9d78 < 0;" (assignment_expression "bVar21 = DAT_003d9d78 < 0" (identifier "bVar21") (= "=") (binary_expression "DAT_003d9d78 < 0" (identifier "DAT_003d9d78") (< "<") (number_literal "0"))) (; ";")) (} "}")) (else_clause "else {\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }" (else "else") (compound_statement "{\n    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);\n    bVar21 = DAT_003d9d78 < 0;\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);" (call_expression "LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6)" (identifier "LogMagickEvent") (argument_list "(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (number_literal "0xe4b") (, ",") (pointer_expression "&DAT_002b6e4e" (& "&") (identifier "DAT_002b6e4e")) (, ",") (binary_expression "param_1 + 0xc6" (identifier "param_1") (+ "+") (number_literal "0xc6")) () ")"))) (; ";")) (expression_statement "bVar21 = DAT_003d9d78 < 0;" (assignment_expression "bVar21 = DAT_003d9d78 < 0" (identifier "bVar21") (= "=") (binary_expression "DAT_003d9d78 < 0" (identifier "DAT_003d9d78") (< "<") (number_literal "0"))) (; ";")) (} "}")))) (if_statement "if (bVar21) {\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }" (if "if") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")")) (compound_statement "{\n    DAT_003d9d78 = 0;\n    iVar8 = GetPolicyValue("pixel-cache-memory");\n    if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }\n    iVar16 = LocaleCompare(iVar8,"anonymous");\n    if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }\n    DestroyString(iVar8);\n  }" ({ "{") (expression_statement "DAT_003d9d78 = 0;" (assignment_expression "DAT_003d9d78 = 0" (identifier "DAT_003d9d78") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = GetPolicyValue("pixel-cache-memory");" (assignment_expression "iVar8 = GetPolicyValue("pixel-cache-memory")" (identifier "iVar8") (= "=") (call_expression "GetPolicyValue("pixel-cache-memory")" (identifier "GetPolicyValue") (argument_list "("pixel-cache-memory")" (( "(") (string_literal ""pixel-cache-memory"" (" """) (string_content "pixel-cache-memory") (" """)) () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar8 = GetPolicyValue("cache:memory-map");\n    }" ({ "{") (expression_statement "iVar8 = GetPolicyValue("cache:memory-map");" (assignment_expression "iVar8 = GetPolicyValue("cache:memory-map")" (identifier "iVar8") (= "=") (call_expression "GetPolicyValue("cache:memory-map")" (identifier "GetPolicyValue") (argument_list "("cache:memory-map")" (( "(") (string_literal ""cache:memory-map"" (" """) (string_content "cache:memory-map") (" """)) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar16 = LocaleCompare(iVar8,"anonymous");" (assignment_expression "iVar16 = LocaleCompare(iVar8,"anonymous")" (identifier "iVar16") (= "=") (call_expression "LocaleCompare(iVar8,"anonymous")" (identifier "LocaleCompare") (argument_list "(iVar8,"anonymous")" (( "(") (identifier "iVar8") (, ",") (string_literal ""anonymous"" (" """) (string_content "anonymous") (" """)) () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n      DAT_003d9d78 = 1;\n    }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_003d9d78 = 1;\n    }" ({ "{") (expression_statement "DAT_003d9d78 = 1;" (assignment_expression "DAT_003d9d78 = 1" (identifier "DAT_003d9d78") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "DestroyString(iVar8);" (call_expression "DestroyString(iVar8)" (identifier "DestroyString") (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")"))) (; ";")) (} "}"))) (if_statement "if ((param_1[6] == 0) || (param_1[7] == 0)) {\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }\n  else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }" (if "if") (parenthesized_expression "((param_1[6] == 0) || (param_1[7] == 0))" (( "(") (binary_expression "(param_1[6] == 0) || (param_1[7] == 0)" (parenthesized_expression "(param_1[6] == 0)" (( "(") (binary_expression "param_1[6] == 0" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_1[7] == 0)" (( "(") (binary_expression "param_1[7] == 0" (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    pcVar27 = "NoPixelsDefinedInCache";\n    uVar11 = 0x1bd;\n    uVar7 = 0xe65;\n  }" ({ "{") (expression_statement "pcVar27 = "NoPixelsDefinedInCache";" (assignment_expression "pcVar27 = "NoPixelsDefinedInCache"" (identifier "pcVar27") (= "=") (string_literal ""NoPixelsDefinedInCache"" (" """) (string_content "NoPixelsDefinedInCache") (" """))) (; ";")) (expression_statement "uVar11 = 0x1bd;" (assignment_expression "uVar11 = 0x1bd" (identifier "uVar11") (= "=") (number_literal "0x1bd")) (; ";")) (expression_statement "uVar7 = 0xe65;" (assignment_expression "uVar7 = 0xe65" (identifier "uVar7") (= "=") (number_literal "0xe65")) (; ";")) (} "}")) (else_clause "else {\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }" (else "else") (compound_statement "{\n    piVar15 = (int *)param_1[0xab];\n    if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }\n    piVar1 = param_1 + 0xc6;\n    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }\n  }" ({ "{") (expression_statement "piVar15 = (int *)param_1[0xab];" (assignment_expression "piVar15 = (int *)param_1[0xab]" (identifier "piVar15") (= "=") (cast_expression "(int *)param_1[0xab]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xab]" (identifier "param_1") ([ "[") (number_literal "0xab") (] "]")))) (; ";")) (if_statement "if (piVar15[0x8fe] != -0x54535255) {\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }" (if "if") (parenthesized_expression "(piVar15[0x8fe] != -0x54535255)" (( "(") (binary_expression "piVar15[0x8fe] != -0x54535255" (subscript_expression "piVar15[0x8fe]" (identifier "piVar15") ([ "[") (number_literal "0x8fe") (] "]")) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");\n    }" ({ "{") (expression_statement "__assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache");" (call_expression "__assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache")" (identifier "__assert_fail") (argument_list "("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,\n                    "OpenPixelCache")" (( "(") (string_literal ""cache_info->signature == MagickCoreSignature"" (" """) (string_content "cache_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (number_literal "0xe67") (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar1 = param_1 + 0xc6;" (assignment_expression "piVar1 = param_1 + 0xc6" (identifier "piVar1") (= "=") (binary_expression "param_1 + 0xc6" (identifier "param_1") (+ "+") (number_literal "0xc6"))) (; ";")) (if_statement "if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }\n    else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }" (if "if") (parenthesized_expression "(((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7]))))" (( "(") (binary_expression "((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||\n       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))" (parenthesized_expression "((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6]))" (( "(") (binary_expression "(piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])" (parenthesized_expression "(piVar15[0x902] == 0)" (( "(") (binary_expression "piVar15[0x902] == 0" (subscript_expression "piVar15[0x902]" (identifier "piVar15") ([ "[") (number_literal "0x902") (] "]")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)piVar15[0x901] < (uint)param_1[6])" (( "(") (binary_expression "(uint)piVar15[0x901] < (uint)param_1[6]" (cast_expression "(uint)piVar15[0x901]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[0x901]" (identifier "piVar15") ([ "[") (number_literal "0x901") (] "]"))) (< "<") (cast_expression "(uint)param_1[6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))" (( "(") (parenthesized_expression "(piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7]))" (( "(") (binary_expression "piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])" (binary_expression "piVar15[0x904] == 0" (subscript_expression "piVar15[0x904]" (identifier "piVar15") ([ "[") (number_literal "0x904") (] "]")) (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "((uint)piVar15[0x903] < (uint)param_1[7])" (( "(") (binary_expression "(uint)piVar15[0x903] < (uint)param_1[7]" (cast_expression "(uint)piVar15[0x903]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[0x903]" (identifier "piVar15") ([ "[") (number_literal "0x903") (] "]"))) (< "<") (cast_expression "(uint)param_1[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      pcVar27 = "WidthOrHeightExceedsLimit";\n      uVar11 = 0x1d1;\n      uVar7 = 0xe6b;\n    }" ({ "{") (expression_statement "pcVar27 = "WidthOrHeightExceedsLimit";" (assignment_expression "pcVar27 = "WidthOrHeightExceedsLimit"" (identifier "pcVar27") (= "=") (string_literal ""WidthOrHeightExceedsLimit"" (" """) (string_content "WidthOrHeightExceedsLimit") (" """))) (; ";")) (expression_statement "uVar11 = 0x1d1;" (assignment_expression "uVar11 = 0x1d1" (identifier "uVar11") (= "=") (number_literal "0x1d1")) (; ";")) (expression_statement "uVar7 = 0xe6b;" (assignment_expression "uVar7 = 0xe6b" (identifier "uVar7") (= "=") (number_literal "0xe6b")) (; ";")) (} "}")) (else_clause "else {\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }" (else "else") (compound_statement "{\n      lVar23 = GetMagickResourceLimit(0xb);\n      if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }\n      piVar14 = local_4434;\n      piVar10 = piVar15 + 0xea;\n      memcpy(piVar14,piVar15,0x2414);\n      local_4090 = 0xffffffff;\n      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);\n      *piVar15 = *param_1;\n      piVar15[1] = param_1[1];\n      piVar15[2] = param_1[0xa5];\n      piVar15[3] = param_1[0xce8];\n      piVar15[5] = param_1[7];\n      piVar15[4] = param_1[6];\n      InitializePixelChannelMap(param_1);\n      iVar8 = param_1[0xa6];\n      piVar17 = (int *)param_1[0xaa];\n      piVar15[7] = iVar8;\n      piVar19 = piVar15 + 8;\n      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }\n      iVar16 = param_1[0xa8];\n      uVar2 = piVar15[5];\n      piVar15[0xc9] = param_2;\n      uVar3 = piVar15[4];\n      piVar15[6] = iVar16;\n      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;\n      uVar9 = iVar16 + iVar8 * 8;\n      local_4468 = (int)(uVar4 >> 0x20);\n      local_446c = (int)uVar4;\n      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n      iVar16 = (int)lVar23;\n      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;\n      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);\n      uVar9 = FUN_0029e870(uVar24,uVar9,0);\n      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }\n      pcVar27 = "PixelCacheAllocationFailed";\n      uVar11 = 400;\n      uVar7 = 0xe8c;\n    }" ({ "{") (expression_statement "lVar23 = GetMagickResourceLimit(0xb);" (assignment_expression "lVar23 = GetMagickResourceLimit(0xb)" (identifier "lVar23") (= "=") (call_expression "GetMagickResourceLimit(0xb)" (identifier "GetMagickResourceLimit") (argument_list "(0xb)" (( "(") (number_literal "0xb") () ")")))) (; ";")) (if_statement "if (lVar23 != 0x7fffffffffffffff) {\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }" (if "if") (parenthesized_expression "(lVar23 != 0x7fffffffffffffff)" (( "(") (binary_expression "lVar23 != 0x7fffffffffffffff" (identifier "lVar23") (!= "!=") (number_literal "0x7fffffffffffffff")) () ")")) (compound_statement "{\n        uVar7 = GetImageListLength(param_1);\n        iVar8 = AcquireMagickResource(0xb,uVar7,0);\n        if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }\n      }" ({ "{") (expression_statement "uVar7 = GetImageListLength(param_1);" (assignment_expression "uVar7 = GetImageListLength(param_1)" (identifier "uVar7") (= "=") (call_expression "GetImageListLength(param_1)" (identifier "GetImageListLength") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "iVar8 = AcquireMagickResource(0xb,uVar7,0);" (assignment_expression "iVar8 = AcquireMagickResource(0xb,uVar7,0)" (identifier "iVar8") (= "=") (call_expression "AcquireMagickResource(0xb,uVar7,0)" (identifier "AcquireMagickResource") (argument_list "(0xb,uVar7,0)" (( "(") (number_literal "0xb") (, ",") (identifier "uVar7") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);\n          uVar7 = 0;\n          goto LAB_00050b1b;\n        }" ({ "{") (expression_statement "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1);" (call_expression "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1)" (identifier "ThrowMagickException") (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,\n                     "ListLengthExceedsLimit","`%s\'",piVar1)" (( "(") (identifier "param_3") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (number_literal "0xe71") (, ",") (number_literal "400") (, ",") (string_literal ""ListLengthExceedsLimit"" (" """) (string_content "ListLengthExceedsLimit") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (identifier "piVar1") () ")"))) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00050b1b;" (goto "goto") (statement_identifier "LAB_00050b1b") (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar14 = local_4434;" (assignment_expression "piVar14 = local_4434" (identifier "piVar14") (= "=") (identifier "local_4434")) (; ";")) (expression_statement "piVar10 = piVar15 + 0xea;" (assignment_expression "piVar10 = piVar15 + 0xea" (identifier "piVar10") (= "=") (binary_expression "piVar15 + 0xea" (identifier "piVar15") (+ "+") (number_literal "0xea"))) (; ";")) (expression_statement "memcpy(piVar14,piVar15,0x2414);" (call_expression "memcpy(piVar14,piVar15,0x2414)" (identifier "memcpy") (argument_list "(piVar14,piVar15,0x2414)" (( "(") (identifier "piVar14") (, ",") (identifier "piVar15") (, ",") (number_literal "0x2414") () ")"))) (; ";")) (expression_statement "local_4090 = 0xffffffff;" (assignment_expression "local_4090 = 0xffffffff" (identifier "local_4090") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);" (call_expression "FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91])" (identifier "FormatLocaleString") (argument_list "(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91])" (( "(") (identifier "piVar10") (, ",") (number_literal "0x1000") (, ",") (string_literal ""%s[%.20g]"" (" """) (string_content "%s[%.20g]") (" """)) (, ",") (identifier "piVar1") (, ",") (cast_expression "(double)(uint)param_1[0x91]" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (cast_expression "(uint)param_1[0x91]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "param_1[0x91]" (identifier "param_1") ([ "[") (number_literal "0x91") (] "]")))) () ")"))) (; ";")) (expression_statement "*piVar15 = *param_1;" (assignment_expression "*piVar15 = *param_1" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "piVar15[1] = param_1[1];" (assignment_expression "piVar15[1] = param_1[1]" (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar15[2] = param_1[0xa5];" (assignment_expression "piVar15[2] = param_1[0xa5]" (subscript_expression "piVar15[2]" (identifier "piVar15") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "param_1[0xa5]" (identifier "param_1") ([ "[") (number_literal "0xa5") (] "]"))) (; ";")) (expression_statement "piVar15[3] = param_1[0xce8];" (assignment_expression "piVar15[3] = param_1[0xce8]" (subscript_expression "piVar15[3]" (identifier "piVar15") ([ "[") (number_literal "3") (] "]")) (= "=") (subscript_expression "param_1[0xce8]" (identifier "param_1") ([ "[") (number_literal "0xce8") (] "]"))) (; ";")) (expression_statement "piVar15[5] = param_1[7];" (assignment_expression "piVar15[5] = param_1[7]" (subscript_expression "piVar15[5]" (identifier "piVar15") ([ "[") (number_literal "5") (] "]")) (= "=") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "piVar15[4] = param_1[6];" (assignment_expression "piVar15[4] = param_1[6]" (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]")) (= "=") (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "InitializePixelChannelMap(param_1);" (call_expression "InitializePixelChannelMap(param_1)" (identifier "InitializePixelChannelMap") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iVar8 = param_1[0xa6];" (assignment_expression "iVar8 = param_1[0xa6]" (identifier "iVar8") (= "=") (subscript_expression "param_1[0xa6]" (identifier "param_1") ([ "[") (number_literal "0xa6") (] "]"))) (; ";")) (expression_statement "piVar17 = (int *)param_1[0xaa];" (assignment_expression "piVar17 = (int *)param_1[0xaa]" (identifier "piVar17") (= "=") (cast_expression "(int *)param_1[0xaa]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[0xaa]" (identifier "param_1") ([ "[") (number_literal "0xaa") (] "]")))) (; ";")) (expression_statement "piVar15[7] = iVar8;" (assignment_expression "piVar15[7] = iVar8" (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "piVar19 = piVar15 + 8;" (assignment_expression "piVar19 = piVar15 + 8" (identifier "piVar19") (= "=") (binary_expression "piVar15 + 8" (identifier "piVar15") (+ "+") (number_literal "8"))) (; ";")) (for_statement "for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }" (for "for") (( "(") (assignment_expression "iVar16 = 0xc0" (identifier "iVar16") (= "=") (number_literal "0xc0")) (; ";") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar16 = iVar16 + -1" (identifier "iVar16") (= "=") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n        *piVar19 = *piVar17;\n        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;\n        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;\n      }" ({ "{") (expression_statement "*piVar19 = *piVar17;" (assignment_expression "*piVar19 = *piVar17" (pointer_expression "*piVar19" (* "*") (identifier "piVar19")) (= "=") (pointer_expression "*piVar17" (* "*") (identifier "piVar17"))) (; ";")) (expression_statement "piVar17 = piVar17 + (uint)bVar22 * -2 + 1;" (assignment_expression "piVar17 = piVar17 + (uint)bVar22 * -2 + 1" (identifier "piVar17") (= "=") (binary_expression "piVar17 + (uint)bVar22 * -2 + 1" (binary_expression "piVar17 + (uint)bVar22 * -2" (identifier "piVar17") (+ "+") (binary_expression "(uint)bVar22 * -2" (cast_expression "(uint)bVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar22")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar19 = piVar19 + (uint)bVar22 * -2 + 1;" (assignment_expression "piVar19 = piVar19 + (uint)bVar22 * -2 + 1" (identifier "piVar19") (= "=") (binary_expression "piVar19 + (uint)bVar22 * -2 + 1" (binary_expression "piVar19 + (uint)bVar22 * -2" (identifier "piVar19") (+ "+") (binary_expression "(uint)bVar22 * -2" (cast_expression "(uint)bVar22" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar22")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "iVar16 = param_1[0xa8];" (assignment_expression "iVar16 = param_1[0xa8]" (identifier "iVar16") (= "=") (subscript_expression "param_1[0xa8]" (identifier "param_1") ([ "[") (number_literal "0xa8") (] "]"))) (; ";")) (expression_statement "uVar2 = piVar15[5];" (assignment_expression "uVar2 = piVar15[5]" (identifier "uVar2") (= "=") (subscript_expression "piVar15[5]" (identifier "piVar15") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "piVar15[0xc9] = param_2;" (assignment_expression "piVar15[0xc9] = param_2" (subscript_expression "piVar15[0xc9]" (identifier "piVar15") ([ "[") (number_literal "0xc9") (] "]")) (= "=") (identifier "param_2")) (; ";")) (expression_statement "uVar3 = piVar15[4];" (assignment_expression "uVar3 = piVar15[4]" (identifier "uVar3") (= "=") (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "piVar15[6] = iVar16;" (assignment_expression "piVar15[6] = iVar16" (subscript_expression "piVar15[6]" (identifier "piVar15") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;" (assignment_expression "uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2" (identifier "uVar4") (= "=") (binary_expression "(ulonglong)uVar3 * (ulonglong)uVar2" (cast_expression "(ulonglong)uVar3" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar3")) (* "*") (cast_expression "(ulonglong)uVar2" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar2")))) (; ";")) (expression_statement "uVar9 = iVar16 + iVar8 * 8;" (assignment_expression "uVar9 = iVar16 + iVar8 * 8" (identifier "uVar9") (= "=") (binary_expression "iVar16 + iVar8 * 8" (identifier "iVar16") (+ "+") (binary_expression "iVar8 * 8" (identifier "iVar8") (* "*") (number_literal "8")))) (; ";")) (expression_statement "local_4468 = (int)(uVar4 >> 0x20);" (assignment_expression "local_4468 = (int)(uVar4 >> 0x20)" (identifier "local_4468") (= "=") (cast_expression "(int)(uVar4 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar4 >> 0x20)" (( "(") (binary_expression "uVar4 >> 0x20" (identifier "uVar4") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "local_446c = (int)uVar4;" (assignment_expression "local_446c = (int)uVar4" (identifier "local_446c") (= "=") (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4"))) (; ";")) (expression_statement "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);" (assignment_expression "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff)" (identifier "lVar23") (= "=") (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff)" (cast_expression "(ulonglong)uVar9" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar9")) (* "*") (parenthesized_expression "(uVar4 & 0xffffffff)" (( "(") (binary_expression "uVar4 & 0xffffffff" (identifier "uVar4") (& "&") (number_literal "0xffffffff")) () ")")))) (; ";")) (expression_statement "iVar16 = (int)lVar23;" (assignment_expression "iVar16 = (int)lVar23" (identifier "iVar16") (= "=") (cast_expression "(int)lVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar23"))) (; ";")) (expression_statement "iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;" (assignment_expression "iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9" (identifier "iVar8") (= "=") (binary_expression "(int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9" (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")"))) (+ "+") (binary_expression "local_4468 * uVar9" (identifier "local_4468") (* "*") (identifier "uVar9")))) (; ";")) (expression_statement "uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);" (assignment_expression "uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0)" (identifier "uVar24") (= "=") (call_expression "FUN_0029e870(iVar16,iVar8,uVar2,0)" (identifier "FUN_0029e870") (argument_list "(iVar16,iVar8,uVar2,0)" (( "(") (identifier "iVar16") (, ",") (identifier "iVar8") (, ",") (identifier "uVar2") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "uVar9 = FUN_0029e870(uVar24,uVar9,0);" (assignment_expression "uVar9 = FUN_0029e870(uVar24,uVar9,0)" (identifier "uVar9") (= "=") (call_expression "FUN_0029e870(uVar24,uVar9,0)" (identifier "FUN_0029e870") (argument_list "(uVar24,uVar9,0)" (( "(") (identifier "uVar24") (, ",") (identifier "uVar9") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }" (if "if") (parenthesized_expression "(((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2))" (( "(") (binary_expression "((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)" (parenthesized_expression "((uVar3 == uVar9) && (-1 < (int)uVar3))" (( "(") (binary_expression "(uVar3 == uVar9) && (-1 < (int)uVar3)" (parenthesized_expression "(uVar3 == uVar9)" (( "(") (binary_expression "uVar3 == uVar9" (identifier "uVar3") (== "==") (identifier "uVar9")) () ")")) (&& "&&") (parenthesized_expression "(-1 < (int)uVar3)" (( "(") (binary_expression "-1 < (int)uVar3" (number_literal "-1") (< "<") (cast_expression "(int)uVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar3"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(-1 < (int)uVar2)" (( "(") (binary_expression "-1 < (int)uVar2" (number_literal "-1") (< "<") (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2"))) () ")"))) () ")")) (compound_statement "{\n        iVar18 = param_1[0xa2];\n        piVar15[0xce] = iVar16;\n        piVar15[0xcf] = iVar8;\n        if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }\n        iVar8 = AcquireMagickResource(1,uVar4);\n        if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }\n        goto LAB_00050b1b;\n      }" ({ "{") (expression_statement "iVar18 = param_1[0xa2];" (assignment_expression "iVar18 = param_1[0xa2]" (identifier "iVar18") (= "=") (subscript_expression "param_1[0xa2]" (identifier "param_1") ([ "[") (number_literal "0xa2") (] "]"))) (; ";")) (expression_statement "piVar15[0xce] = iVar16;" (assignment_expression "piVar15[0xce] = iVar16" (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "piVar15[0xcf] = iVar8;" (assignment_expression "piVar15[0xcf] = iVar8" (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (iVar18 != 0) {\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar7 = 1;\n          *piVar15 = *param_1;\n          iVar8 = param_1[1];\n          piVar15[200] = 5;\n          piVar15[1] = iVar8;\n          goto LAB_00050b1b;\n        }" ({ "{") (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" (identifier "uVar7") (= "=") (number_literal "1")) (; ";")) (expression_statement "*piVar15 = *param_1;" (assignment_expression "*piVar15 = *param_1" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "iVar8 = param_1[1];" (assignment_expression "iVar8 = param_1[1]" (identifier "iVar8") (= "=") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar15[200] = 5;" (assignment_expression "piVar15[200] = 5" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "5")) (; ";")) (expression_statement "piVar15[1] = iVar8;" (assignment_expression "piVar15[1] = iVar8" (subscript_expression "piVar15[1]" (identifier "piVar15") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (goto_statement "goto LAB_00050b1b;" (goto "goto") (statement_identifier "LAB_00050b1b") (; ";")) (} "}"))) (expression_statement "iVar8 = AcquireMagickResource(1,uVar4);" (assignment_expression "iVar8 = AcquireMagickResource(1,uVar4)" (identifier "iVar8") (= "=") (call_expression "AcquireMagickResource(1,uVar4)" (identifier "AcquireMagickResource") (argument_list "(1,uVar4)" (( "(") (number_literal "1") (, ",") (identifier "uVar4") () ")")))) (; ";")) (if_statement "if (piVar15[0xc9] == 3) {\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }\n        else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }" (if "if") (parenthesized_expression "(piVar15[0xc9] == 3)" (( "(") (binary_expression "piVar15[0xc9] == 3" (subscript_expression "piVar15[0xc9]" (identifier "piVar15") ([ "[") (number_literal "0xc9") (] "]")) (== "==") (number_literal "3")) () ")")) (compound_statement "{\nLAB_00051068:\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\nLAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);\n          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);\n          uVar7 = 0;\n          if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }\n          bVar21 = param_2 != 0;\n          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }\n          iVar8 = FUN_0004cd50();\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }\n          iVar18 = piVar15[0xce] + piVar15[0xcc];\n          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);\n          iVar8 = param_1[0xab];\n          iVar16 = param_1[0xcca];\n          if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }\n          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);\n          if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }\n          piVar15[200] = 0;\n          piVar15 = __errno_location();\n          uVar11 = GetExceptionMessage(*piVar15);\n          ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);\n          DestroyString(uVar11);\n        }" ({ "{") (labeled_statement "LAB_00051068:\n          iVar16 = piVar15[0xcf];" (statement_identifier "LAB_00051068") (: ":") (expression_statement "iVar16 = piVar15[0xcf];" (assignment_expression "iVar16 = piVar15[0xcf]" (identifier "iVar16") (= "=") (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]"))) (; ";"))) (expression_statement "iVar18 = piVar15[0xce];" (assignment_expression "iVar18 = piVar15[0xce]" (identifier "iVar18") (= "=") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]"))) (; ";")) (labeled_statement "LAB_00050cf5:\n          iVar8 = AcquireMagickResource(2,iVar18,iVar16);" (statement_identifier "LAB_00050cf5") (: ":") (expression_statement "iVar8 = AcquireMagickResource(2,iVar18,iVar16);" (assignment_expression "iVar8 = AcquireMagickResource(2,iVar18,iVar16)" (identifier "iVar8") (= "=") (call_expression "AcquireMagickResource(2,iVar18,iVar16)" (identifier "AcquireMagickResource") (argument_list "(2,iVar18,iVar16)" (( "(") (number_literal "2") (, ",") (identifier "iVar18") (, ",") (identifier "iVar16") () ")")))) (; ";"))) (expression_statement "iVar16 = GetImageRegistry(3,"cache:hosts",param_3);" (assignment_expression "iVar16 = GetImageRegistry(3,"cache:hosts",param_3)" (identifier "iVar16") (= "=") (call_expression "GetImageRegistry(3,"cache:hosts",param_3)" (identifier "GetImageRegistry") (argument_list "(3,"cache:hosts",param_3)" (( "(") (number_literal "3") (, ",") (string_literal ""cache:hosts"" (" """) (string_content "cache:hosts") (" """)) (, ",") (identifier "param_3") () ")")))) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((iVar8 == 0) && (iVar16 != 0)) {\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }" (if "if") (parenthesized_expression "((iVar8 == 0) && (iVar16 != 0))" (( "(") (binary_expression "(iVar8 == 0) && (iVar16 != 0)" (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            iVar8 = FUN_0008aed0(param_3);\n            if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }\n            piVar15[200] = 0;\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);\n            goto LAB_00050b1b;\n          }" ({ "{") (expression_statement "iVar8 = FUN_0008aed0(param_3);" (assignment_expression "iVar8 = FUN_0008aed0(param_3)" (identifier "iVar8") (= "=") (call_expression "FUN_0008aed0(param_3)" (identifier "FUN_0008aed0") (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              iVar16 = FUN_0008b670(iVar8,param_1);\n              if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }\n              piVar10 = __errno_location();\n              uVar11 = GetExceptionMessage(*piVar10);\n              uVar12 = FUN_0008b590(iVar8);\n              ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);\n              DestroyString(uVar11);\n              FUN_0008ae40(iVar8);\n            }" ({ "{") (expression_statement "iVar16 = FUN_0008b670(iVar8,param_1);" (assignment_expression "iVar16 = FUN_0008b670(iVar8,param_1)" (identifier "iVar16") (= "=") (call_expression "FUN_0008b670(iVar8,param_1)" (identifier "FUN_0008b670") (argument_list "(iVar8,param_1)" (( "(") (identifier "iVar8") (, ",") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iVar16 != 0) {\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                piVar15[0x8f6] = iVar8;\n                piVar15[200] = 2;\n                uVar7 = FUN_0008b600(iVar8);\n                uVar11 = FUN_0008b590(piVar15[0x8f6]);\n                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);\n                if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }\n                if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }\n                goto LAB_00051052;\n              }" ({ "{") (expression_statement "piVar15[0x8f6] = iVar8;" (assignment_expression "piVar15[0x8f6] = iVar8" (subscript_expression "piVar15[0x8f6]" (identifier "piVar15") ([ "[") (number_literal "0x8f6") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "piVar15[200] = 2;" (assignment_expression "piVar15[200] = 2" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar7 = FUN_0008b600(iVar8);" (assignment_expression "uVar7 = FUN_0008b600(iVar8)" (identifier "uVar7") (= "=") (call_expression "FUN_0008b600(iVar8)" (identifier "FUN_0008b600") (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "uVar11 = FUN_0008b590(piVar15[0x8f6]);" (assignment_expression "uVar11 = FUN_0008b590(piVar15[0x8f6])" (identifier "uVar11") (= "=") (call_expression "FUN_0008b590(piVar15[0x8f6])" (identifier "FUN_0008b590") (argument_list "(piVar15[0x8f6])" (( "(") (subscript_expression "piVar15[0x8f6]" (identifier "piVar15") ([ "[") (number_literal "0x8f6") (] "]")) () ")")))) (; ";")) (expression_statement "FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);" (call_expression "FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7)" (identifier "FormatLocaleString") (argument_list "(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7)" (( "(") (binary_expression "piVar15 + 0x4ea" (identifier "piVar15") (+ "+") (number_literal "0x4ea")) (, ",") (number_literal "0x1000") (, ",") (string_literal ""%s:%d"" (" """) (string_content "%s:%d") (" """)) (, ",") (identifier "uVar11") (, ",") (identifier "uVar7") () ")"))) (; ";")) (if_statement "if ((local_4434[0] == 0) || (param_2 == 0)) {\n                  iVar8 = 1;\n                }\n                else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }" (if "if") (parenthesized_expression "((local_4434[0] == 0) || (param_2 == 0))" (( "(") (binary_expression "(local_4434[0] == 0) || (param_2 == 0)" (parenthesized_expression "(local_4434[0] == 0)" (( "(") (binary_expression "local_4434[0] == 0" (subscript_expression "local_4434[0]" (identifier "local_4434") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                  iVar8 = 1;\n                }" ({ "{") (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }" (else "else") (compound_statement "{\n                  iVar8 = FUN_0004ffc0();\n                  FUN_0004cba0();\n                }" ({ "{") (expression_statement "iVar8 = FUN_0004ffc0();" (assignment_expression "iVar8 = FUN_0004ffc0()" (identifier "iVar8") (= "=") (call_expression "FUN_0004ffc0()" (identifier "FUN_0004ffc0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0004cba0();" (call_expression "FUN_0004cba0()" (identifier "FUN_0004cba0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (param_1[0xcca] != 0) {\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }" (if "if") (parenthesized_expression "(param_1[0xcca] != 0)" (( "(") (binary_expression "param_1[0xcca] != 0" (subscript_expression "param_1[0xcca]" (identifier "param_1") ([ "[") (number_literal "0xcca") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  local_4484 = (ulonglong)(uint)piVar15[5];\n                  local_447c = (ulonglong)(uint)piVar15[4];\n                  uVar11 = FUN_0008b520(piVar15[0x8f6]);\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);\n                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);\n                }" ({ "{") (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8)" (identifier "FormatMagickSize") (argument_list "(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar8,iVar8)" (( "(") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (, ",") (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]")) (, ",") (number_literal "0") (, ",") (pointer_expression "&DAT_0030c34a" (& "&") (identifier "DAT_0030c34a")) (, ",") (number_literal "0x1000") (, ",") (identifier "local_2020") (, ",") (identifier "iVar8") (, ",") (identifier "iVar8") () ")"))) (; ";")) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" (identifier "uVar7") (= "=") (call_expression "CommandOptionToMnemonic(3,piVar15[200])" (identifier "CommandOptionToMnemonic") (argument_list "(3,piVar15[200])" (( "(") (number_literal "3") (, ",") (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) () ")")))) (; ";")) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[7]" (identifier "local_4494") (= "=") (cast_expression "(ulonglong)(uint)piVar15[7]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]"))))) (; ";")) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[5]" (identifier "local_4484") (= "=") (cast_expression "(ulonglong)(uint)piVar15[5]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[5]" (identifier "piVar15") ([ "[") (number_literal "5") (] "]"))))) (; ";")) (expression_statement "local_447c = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_447c = (ulonglong)(uint)piVar15[4]" (identifier "local_447c") (= "=") (cast_expression "(ulonglong)(uint)piVar15[4]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]"))))) (; ";")) (expression_statement "uVar11 = FUN_0008b520(piVar15[0x8f6]);" (assignment_expression "uVar11 = FUN_0008b520(piVar15[0x8f6])" (identifier "uVar11") (= "=") (call_expression "FUN_0008b520(piVar15[0x8f6])" (identifier "FUN_0008b520") (argument_list "(piVar15[0x8f6])" (( "(") (subscript_expression "piVar15[0x8f6]" (identifier "piVar15") ([ "[") (number_literal "0x8f6") (] "]")) () ")")))) (; ";")) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020)" (identifier "FormatLocaleString") (argument_list "(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,\n                                     (double)local_4484,(double)local_4494,local_2020)" (( "(") (identifier "local_1020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" (" """) (string_content "open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)") (" """)) (, ",") (identifier "piVar10") (, ",") (binary_expression "piVar15 + 0x4ea" (identifier "piVar15") (+ "+") (number_literal "0x4ea")) (, ",") (identifier "uVar11") (, ",") (identifier "uVar7") (, ",") (cast_expression "(double)local_447c" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_447c")) (, ",") (cast_expression "(double)local_4484" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4484")) (, ",") (cast_expression "(double)local_4494" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4494")) (, ",") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020)" (identifier "LogMagickEvent") (argument_list "(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,\n                                 local_1020)" (( "(") (number_literal "8") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (number_literal "0xf15") (, ",") (pointer_expression "&DAT_002b6e4e" (& "&") (identifier "DAT_002b6e4e")) (, ",") (identifier "local_1020") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00051052;" (goto "goto") (statement_identifier "LAB_00051052") (; ";")) (} "}"))) (expression_statement "piVar10 = __errno_location();" (assignment_expression "piVar10 = __errno_location()" (identifier "piVar10") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar11 = GetExceptionMessage(*piVar10);" (assignment_expression "uVar11 = GetExceptionMessage(*piVar10)" (identifier "uVar11") (= "=") (call_expression "GetExceptionMessage(*piVar10)" (identifier "GetExceptionMessage") (argument_list "(*piVar10)" (( "(") (pointer_expression "*piVar10" (* "*") (identifier "piVar10")) () ")")))) (; ";")) (expression_statement "uVar12 = FUN_0008b590(iVar8);" (assignment_expression "uVar12 = FUN_0008b590(iVar8)" (identifier "uVar12") (= "=") (call_expression "FUN_0008b590(iVar8)" (identifier "FUN_0008b590") (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);" (call_expression "ThrowMagickException\n                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11)" (identifier "ThrowMagickException") (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,\n                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11)" (( "(") (identifier "param_3") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (number_literal "0xef1") (, ",") (number_literal "0x1bd") (, ",") (string_literal ""UnableToOpenPixelCache"" (" """) (string_content "UnableToOpenPixelCache") (" """)) (, ",") (string_literal ""\'%s\': %s"" (" """) (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ": %s") (" """)) (, ",") (identifier "uVar12") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "DestroyString(uVar11);" (call_expression "DestroyString(uVar11)" (identifier "DestroyString") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "FUN_0008ae40(iVar8);" (call_expression "FUN_0008ae40(iVar8)" (identifier "FUN_0008ae40") (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1);" (call_expression "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1)" (identifier "ThrowMagickException") (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,\n                       "CacheResourcesExhausted","`%s\'",piVar1)" (( "(") (identifier "param_3") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (number_literal "0xf21") (, ",") (number_literal "0x1bd") (, ",") (string_literal ""CacheResourcesExhausted"" (" """) (string_content "CacheResourcesExhausted") (" """)) (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (identifier "piVar1") () ")"))) (; ";")) (goto_statement "goto LAB_00050b1b;" (goto "goto") (statement_identifier "LAB_00050b1b") (; ";")) (} "}"))) (if_statement "if (iVar8 == 0) {\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            piVar15[200] = 0;\n            pcVar27 = "CacheResourcesExhausted";\n            uVar11 = 0x1bd;\n            uVar7 = 0xf2b;\n            goto LAB_00050aff;\n          }" ({ "{") (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar27 = "CacheResourcesExhausted";" (assignment_expression "pcVar27 = "CacheResourcesExhausted"" (identifier "pcVar27") (= "=") (string_literal ""CacheResourcesExhausted"" (" """) (string_content "CacheResourcesExhausted") (" """))) (; ";")) (expression_statement "uVar11 = 0x1bd;" (assignment_expression "uVar11 = 0x1bd" (identifier "uVar11") (= "=") (number_literal "0x1bd")) (; ";")) (expression_statement "uVar7 = 0xf2b;" (assignment_expression "uVar7 = 0xf2b" (identifier "uVar7") (= "=") (number_literal "0xf2b")) (; ";")) (goto_statement "goto LAB_00050aff;" (goto "goto") (statement_identifier "LAB_00050aff") (; ";")) (} "}"))) (expression_statement "bVar21 = param_2 != 0;" (assignment_expression "bVar21 = param_2 != 0" (identifier "bVar21") (= "=") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0"))) (; ";")) (if_statement "if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }" (if "if") (parenthesized_expression "(((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3))" (( "(") (binary_expression "((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)" (parenthesized_expression "((local_4434[0] != 0) && (bVar21))" (( "(") (binary_expression "(local_4434[0] != 0) && (bVar21)" (parenthesized_expression "(local_4434[0] != 0)" (( "(") (binary_expression "local_4434[0] != 0" (subscript_expression "local_4434[0]" (identifier "local_4434") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar15[0xc9] != 3)" (( "(") (binary_expression "piVar15[0xc9] != 3" (subscript_expression "piVar15[0xc9]" (identifier "piVar15") ([ "[") (number_literal "0xc9") (] "]")) (!= "!=") (number_literal "3")) () ")"))) () ")")) (compound_statement "{\n            FUN_0004cb50();\n            *(undefined1 *)(piVar15 + 0x4ea) = 0;\n          }" ({ "{") (expression_statement "FUN_0004cb50();" (call_expression "FUN_0004cb50()" (identifier "FUN_0004cb50") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined1 *)(piVar15 + 0x4ea) = 0;" (assignment_expression "*(undefined1 *)(piVar15 + 0x4ea) = 0" (pointer_expression "*(undefined1 *)(piVar15 + 0x4ea)" (* "*") (cast_expression "(undefined1 *)(piVar15 + 0x4ea)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar15 + 0x4ea)" (( "(") (binary_expression "piVar15 + 0x4ea" (identifier "piVar15") (+ "+") (number_literal "0x4ea")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar8 = FUN_0004cd50();" (assignment_expression "iVar8 = FUN_0004cd50()" (identifier "iVar8") (= "=") (call_expression "FUN_0004cd50()" (identifier "FUN_0004cd50") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar8 == 0) {\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            piVar15[200] = 0;\n            piVar15 = __errno_location();\n            uVar7 = GetExceptionMessage(*piVar15);\n            ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);\n            DestroyString(uVar7);\n            uVar7 = 0;\n            goto LAB_00050b1b;\n          }" ({ "{") (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" (identifier "piVar15") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar7 = GetExceptionMessage(*piVar15);" (assignment_expression "uVar7 = GetExceptionMessage(*piVar15)" (identifier "uVar7") (= "=") (call_expression "GetExceptionMessage(*piVar15)" (identifier "GetExceptionMessage") (argument_list "(*piVar15)" (( "(") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) () ")")))) (; ";")) (expression_statement "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);" (call_expression "ThrowMagickException\n                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7)" (identifier "ThrowMagickException") (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,\n                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7)" (( "(") (identifier "param_3") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (number_literal "0xf39") (, ",") (number_literal "0x1bd") (, ",") (string_literal ""UnableToOpenPixelCache"" (" """) (string_content "UnableToOpenPixelCache") (" """)) (, ",") (string_literal ""\'%s\': %s"" (" """) (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ": %s") (" """)) (, ",") (identifier "piVar1") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "DestroyString(uVar7);" (call_expression "DestroyString(uVar7)" (identifier "DestroyString") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_00050b1b;" (goto "goto") (statement_identifier "LAB_00050b1b") (; ";")) (} "}"))) (expression_statement "iVar18 = piVar15[0xce] + piVar15[0xcc];" (assignment_expression "iVar18 = piVar15[0xce] + piVar15[0xcc]" (identifier "iVar18") (= "=") (binary_expression "piVar15[0xce] + piVar15[0xcc]" (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (+ "+") (subscript_expression "piVar15[0xcc]" (identifier "piVar15") ([ "[") (number_literal "0xcc") (] "]")))) (; ";")) (expression_statement "iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);" (assignment_expression "iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc])" (identifier "iVar20") (= "=") (binary_expression "piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc])" (binary_expression "piVar15[0xcf] + piVar15[0xcd]" (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]")) (+ "+") (subscript_expression "piVar15[0xcd]" (identifier "piVar15") ([ "[") (number_literal "0xcd") (] "]"))) (+ "+") (cast_expression "(uint)CARRY4(piVar15[0xce],piVar15[0xcc])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CARRY4(piVar15[0xce],piVar15[0xcc])" (identifier "CARRY4") (argument_list "(piVar15[0xce],piVar15[0xcc])" (( "(") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (, ",") (subscript_expression "piVar15[0xcc]" (identifier "piVar15") ([ "[") (number_literal "0xcc") (] "]")) () ")")))))) (; ";")) (expression_statement "iVar8 = param_1[0xab];" (assignment_expression "iVar8 = param_1[0xab]" (identifier "iVar8") (= "=") (subscript_expression "param_1[0xab]" (identifier "param_1") ([ "[") (number_literal "0xab") (] "]"))) (; ";")) (expression_statement "iVar16 = param_1[0xcca];" (assignment_expression "iVar16 = param_1[0xcca]" (identifier "iVar16") (= "=") (subscript_expression "param_1[0xcca]" (identifier "param_1") ([ "[") (number_literal "0xcca") (] "]"))) (; ";")) (if_statement "if (iVar16 != 0) {\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);\n            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);\n          }" ({ "{") (expression_statement "FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);" (call_expression "FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16)" (identifier "FormatMagickSize") (argument_list "(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16)" (( "(") (identifier "iVar18") (, ",") (identifier "iVar20") (, ",") (number_literal "0") (, ",") (pointer_expression "&DAT_0030c34a" (& "&") (identifier "DAT_0030c34a")) (, ",") (number_literal "0x1000") (, ",") (identifier "local_2020") (, ",") (identifier "iVar16") (, ",") (identifier "iVar16") () ")"))) (; ";")) (expression_statement "FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020)" (identifier "FormatLocaleString") (argument_list "(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,\n                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020)" (( "(") (identifier "local_1020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""extend %s (%s[%d], disk, %s)"" (" """) (string_content "extend %s (%s[%d], disk, %s)") (" """)) (, ",") (binary_expression "iVar8 + 0x3a8" (identifier "iVar8") (+ "+") (number_literal "0x3a8")) (, ",") (binary_expression "iVar8 + 0x13a8" (identifier "iVar8") (+ "+") (number_literal "0x13a8")) (, ",") (pointer_expression "*(undefined4 *)(iVar8 + 0x3a4)" (* "*") (cast_expression "(undefined4 *)(iVar8 + 0x3a4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x3a4)" (( "(") (binary_expression "iVar8 + 0x3a4" (identifier "iVar8") (+ "+") (number_literal "0x3a4")) () ")")))) (, ",") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020)" (identifier "LogMagickEvent") (argument_list "(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,\n                           local_1020)" (( "(") (number_literal "8") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""SetPixelCacheExtent"" (" """) (string_content "SetPixelCacheExtent") (" """)) (, ",") (number_literal "0xe11") (, ",") (pointer_expression "&DAT_002b6e4e" (& "&") (identifier "DAT_002b6e4e")) (, ",") (identifier "local_1020") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);" (assignment_expression "uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2)" (identifier "uVar25") (= "=") (call_expression "lseek64(*(int *)(iVar8 + 0x3a4),0,2)" (identifier "lseek64") (argument_list "(*(int *)(iVar8 + 0x3a4),0,2)" (( "(") (pointer_expression "*(int *)(iVar8 + 0x3a4)" (* "*") (cast_expression "(int *)(iVar8 + 0x3a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x3a4)" (( "(") (binary_expression "iVar8 + 0x3a4" (identifier "iVar8") (+ "+") (number_literal "0x3a4")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "2") () ")")))) (; ";")) (if_statement "if (-1 < (longlong)uVar25) {\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }" (if "if") (parenthesized_expression "(-1 < (longlong)uVar25)" (( "(") (binary_expression "-1 < (longlong)uVar25" (number_literal "-1") (< "<") (cast_expression "(longlong)uVar25" (( "(") (type_descriptor "longlong" (type_identifier "longlong")) () ")") (identifier "uVar25"))) () ")")) (compound_statement "{\n            if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }\n          }" ({ "{") (if_statement "if (uVar25 < CONCAT44(iVar20,iVar18)) {\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }\n            else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }" (if "if") (parenthesized_expression "(uVar25 < CONCAT44(iVar20,iVar18))" (( "(") (binary_expression "uVar25 < CONCAT44(iVar20,iVar18)" (identifier "uVar25") (< "<") (call_expression "CONCAT44(iVar20,iVar18)" (identifier "CONCAT44") (argument_list "(iVar20,iVar18)" (( "(") (identifier "iVar20") (, ",") (identifier "iVar18") () ")")))) () ")")) (compound_statement "{\n              uVar9 = iVar18 - 1;\n              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);\n              do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);\n            }" ({ "{") (expression_statement "uVar9 = iVar18 - 1;" (assignment_expression "uVar9 = iVar18 - 1" (identifier "uVar9") (= "=") (binary_expression "iVar18 - 1" (identifier "iVar18") (- "-") (number_literal "1"))) (; ";")) (expression_statement "iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);" (assignment_expression "iVar16 = iVar20 + -1 + (uint)(iVar18 != 0)" (identifier "iVar16") (= "=") (binary_expression "iVar20 + -1 + (uint)(iVar18 != 0)" (binary_expression "iVar20 + -1" (identifier "iVar20") (+ "+") (number_literal "-1")) (+ "+") (call_expression "(uint)(iVar18 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")"))))) (; ";")) (do_statement "do {\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              } while (*piVar14 == 4);" (do "do") (compound_statement "{\n                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));\n                if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }\n                piVar14 = __errno_location();\n              }" ({ "{") (expression_statement "sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));" (assignment_expression "sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9))" (identifier "sVar13") (= "=") (call_expression "pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9))" (identifier "pwrite64") (argument_list "(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9))" (( "(") (pointer_expression "*(int *)(iVar8 + 0x3a4)" (* "*") (cast_expression "(int *)(iVar8 + 0x3a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x3a4)" (( "(") (binary_expression "iVar8 + 0x3a4" (identifier "iVar8") (+ "+") (number_literal "0x3a4")) () ")")))) (, ",") (pointer_expression "&DAT_0030570a" (& "&") (identifier "DAT_0030570a")) (, ",") (number_literal "1") (, ",") (call_expression "CONCAT44(iVar16,uVar9)" (identifier "CONCAT44") (argument_list "(iVar16,uVar9)" (( "(") (identifier "iVar16") (, ",") (identifier "uVar9") () ")"))) () ")")))) (; ";")) (if_statement "if (0 < sVar13) {\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }" (if "if") (parenthesized_expression "(0 < sVar13)" (( "(") (binary_expression "0 < sVar13" (number_literal "0") (< "<") (identifier "sVar13")) () ")")) (compound_statement "{\n                  if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }\n                  break;\n                }" ({ "{") (if_statement "if (sVar13 == 1) {\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }" (if "if") (parenthesized_expression "(sVar13 == 1)" (( "(") (binary_expression "sVar13 == 1" (identifier "sVar13") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;\n                    local_444c = (uint)uVar25;\n                    local_4448 = (int)(uVar25 >> 0x20);\n                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));\n                    if (iVar16 == 0) goto LAB_00050fd6;\n                  }" ({ "{") (if_statement "if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;" (if "if") (parenthesized_expression "(*(int *)(iVar8 + 0x23dc) == 0)" (( "(") (binary_expression "*(int *)(iVar8 + 0x23dc) == 0" (pointer_expression "*(int *)(iVar8 + 0x23dc)" (* "*") (cast_expression "(int *)(iVar8 + 0x23dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x23dc)" (( "(") (binary_expression "iVar8 + 0x23dc" (identifier "iVar8") (+ "+") (number_literal "0x23dc")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00050fd6;" (goto "goto") (statement_identifier "LAB_00050fd6") (; ";"))) (expression_statement "local_444c = (uint)uVar25;" (assignment_expression "local_444c = (uint)uVar25" (identifier "local_444c") (= "=") (cast_expression "(uint)uVar25" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar25"))) (; ";")) (expression_statement "local_4448 = (int)(uVar25 >> 0x20);" (assignment_expression "local_4448 = (int)(uVar25 >> 0x20)" (identifier "local_4448") (= "=") (cast_expression "(int)(uVar25 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar25 >> 0x20)" (( "(") (binary_expression "uVar25 >> 0x20" (identifier "uVar25") (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c));" (assignment_expression "iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c))" (identifier "iVar16") (= "=") (call_expression "posix_fallocate64(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c))" (identifier "posix_fallocate64") (argument_list "(*(int *)(iVar8 + 0x3a4),\n                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1),\n                                               CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c))" (( "(") (pointer_expression "*(int *)(iVar8 + 0x3a4)" (* "*") (cast_expression "(int *)(iVar8 + 0x3a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x3a4)" (( "(") (binary_expression "iVar8 + 0x3a4" (identifier "iVar8") (+ "+") (number_literal "0x3a4")) () ")")))) (, ",") (call_expression "CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1)" (identifier "CONCAT44") (argument_list "(local_4448 + (uint)(0xfffffffe < local_444c)\n                                                        ,local_444c + 1)" (( "(") (binary_expression "local_4448 + (uint)(0xfffffffe < local_444c)" (identifier "local_4448") (+ "+") (call_expression "(uint)(0xfffffffe < local_444c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xfffffffe < local_444c)" (( "(") (binary_expression "0xfffffffe < local_444c" (number_literal "0xfffffffe") (< "<") (identifier "local_444c")) () ")")))) (, ",") (binary_expression "local_444c + 1" (identifier "local_444c") (+ "+") (number_literal "1")) () ")"))) (, ",") (call_expression "CONCAT44((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c)" (identifier "CONCAT44") (argument_list "((iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c),\n                                                        uVar9 - local_444c)" (( "(") (binary_expression "(iVar16 - local_4448) -\n                                                        (uint)(uVar9 < local_444c)" (parenthesized_expression "(iVar16 - local_4448)" (( "(") (binary_expression "iVar16 - local_4448" (identifier "iVar16") (- "-") (identifier "local_4448")) () ")")) (- "-") (call_expression "(uint)(uVar9 < local_444c)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 < local_444c)" (( "(") (binary_expression "uVar9 < local_444c" (identifier "uVar9") (< "<") (identifier "local_444c")) () ")")))) (, ",") (binary_expression "uVar9 - local_444c" (identifier "uVar9") (- "-") (identifier "local_444c")) () ")"))) () ")")))) (; ";")) (if_statement "if (iVar16 == 0) goto LAB_00050fd6;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00050fd6;" (goto "goto") (statement_identifier "LAB_00050fd6") (; ";"))) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "piVar14 = __errno_location();" (assignment_expression "piVar14 = __errno_location()" (identifier "piVar14") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*piVar14 == 4)" (( "(") (binary_expression "*piVar14 == 4" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (== "==") (number_literal "4")) () ")")) (; ";")) (} "}")) (else_clause "else {\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }" (else "else") (compound_statement "{\nLAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);\n              if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }\n            }" ({ "{") (labeled_statement "LAB_00050fd6:\n              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);" (statement_identifier "LAB_00050fd6") (: ":") (expression_statement "_Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);" (assignment_expression "_Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0)" (identifier "_Var26") (= "=") (call_expression "lseek64(*(int *)(iVar8 + 0x3a4),0,0)" (identifier "lseek64") (argument_list "(*(int *)(iVar8 + 0x3a4),0,0)" (( "(") (pointer_expression "*(int *)(iVar8 + 0x3a4)" (* "*") (cast_expression "(int *)(iVar8 + 0x3a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x3a4)" (( "(") (binary_expression "iVar8 + 0x3a4" (identifier "iVar8") (+ "+") (number_literal "0x3a4")) () ")")))) (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";"))) (if_statement "if (-1 < _Var26) {\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }" (if "if") (parenthesized_expression "(-1 < _Var26)" (( "(") (binary_expression "-1 < _Var26" (number_literal "-1") (< "<") (identifier "_Var26")) () ")")) (compound_statement "{\n                piVar15[200] = 1;\n                uVar9 = piVar15[6] + piVar15[7] * 8;\n                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);\n                iVar16 = (int)lVar23;\n                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }\n                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);\n                iVar8 = iVar16;\n                goto LAB_00051052;\n              }" ({ "{") (expression_statement "piVar15[200] = 1;" (assignment_expression "piVar15[200] = 1" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar9 = piVar15[6] + piVar15[7] * 8;" (assignment_expression "uVar9 = piVar15[6] + piVar15[7] * 8" (identifier "uVar9") (= "=") (binary_expression "piVar15[6] + piVar15[7] * 8" (subscript_expression "piVar15[6]" (identifier "piVar15") ([ "[") (number_literal "6") (] "]")) (+ "+") (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);" (assignment_expression "lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff)" (identifier "lVar23") (= "=") (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff)" (cast_expression "(ulonglong)uVar9" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar9")) (* "*") (parenthesized_expression "(uVar4 & 0xffffffff)" (( "(") (binary_expression "uVar4 & 0xffffffff" (identifier "uVar4") (& "&") (number_literal "0xffffffff")) () ")")))) (; ";")) (expression_statement "iVar16 = (int)lVar23;" (assignment_expression "iVar16 = (int)lVar23" (identifier "iVar16") (= "=") (cast_expression "(int)lVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar23"))) (; ";")) (if_statement "if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)) {\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }\n                else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }" (if "if") (parenthesized_expression "((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0))" (( "(") (binary_expression "(local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&\n                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)" (parenthesized_expression "(local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0)" (( "(") (binary_expression "local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0" (binary_expression "local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20)" (binary_expression "local_4468 * uVar9" (identifier "local_4468") (* "*") (identifier "uVar9")) (+ "+") (cast_expression "(int)((ulonglong)lVar23 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)lVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar23 >> 0x20" (cast_expression "(ulonglong)lVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar23")) (>> ">>") (number_literal "0x20")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0)" (( "(") (comma_expression "iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),\n                   iVar16 != 0" (assignment_expression "iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468)" (identifier "iVar16") (= "=") (call_expression "AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468)" (identifier "AcquireMagickResource") (argument_list "(5,piVar15[0xce],piVar15[0xcf],local_4468)" (( "(") (number_literal "5") (, ",") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (, ",") (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]")) (, ",") (identifier "local_4468") () ")")))) (, ",") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);\n                  piVar15[0xe7] = iVar8;\n                  if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }\n                  FUN_0004cb50();\n                  piVar15[200] = 3;\n                  piVar15[0xcb] = 1;\n                  piVar15[0xe8] = 0;\n                  if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }\n                  if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }\n                  iVar8 = iVar16;\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf74;\n                }" ({ "{") (expression_statement "iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);" (assignment_expression "iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce])" (identifier "iVar8") (= "=") (call_expression "MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce])" (identifier "MapBlob") (argument_list "(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce])" (( "(") (subscript_expression "piVar15[0xe9]" (identifier "piVar15") ([ "[") (number_literal "0xe9") (] "]")) (, ",") (identifier "param_2") (, ",") (subscript_expression "piVar15[0xcc]" (identifier "piVar15") ([ "[") (number_literal "0xcc") (] "]")) (, ",") (subscript_expression "piVar15[0xcd]" (identifier "piVar15") ([ "[") (number_literal "0xcd") (] "]")) (, ",") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) () ")")))) (; ";")) (expression_statement "piVar15[0xe7] = iVar8;" (assignment_expression "piVar15[0xe7] = iVar8" (subscript_expression "piVar15[0xe7]" (identifier "piVar15") ([ "[") (number_literal "0xe7") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (iVar8 == 0) {\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    piVar15[0xcb] = local_4108;\n                    piVar15[0xe7] = local_4098;\n                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);\n                    goto LAB_0005102c;\n                  }" ({ "{") (expression_statement "piVar15[0xcb] = local_4108;" (assignment_expression "piVar15[0xcb] = local_4108" (subscript_expression "piVar15[0xcb]" (identifier "piVar15") ([ "[") (number_literal "0xcb") (] "]")) (= "=") (identifier "local_4108")) (; ";")) (expression_statement "piVar15[0xe7] = local_4098;" (assignment_expression "piVar15[0xe7] = local_4098" (subscript_expression "piVar15[0xe7]" (identifier "piVar15") ([ "[") (number_literal "0xe7") (] "]")) (= "=") (identifier "local_4098")) (; ";")) (expression_statement "iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);" (assignment_expression "iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15)" (identifier "iVar16") (= "=") (call_expression "RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15)" (identifier "RelinquishMagickResource") (argument_list "(5,piVar15[0xce],piVar15[0xcf],piVar15)" (( "(") (number_literal "5") (, ",") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (, ",") (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]")) (, ",") (identifier "piVar15") () ")")))) (; ";")) (goto_statement "goto LAB_0005102c;" (goto "goto") (statement_identifier "LAB_0005102c") (; ";")) (} "}"))) (expression_statement "FUN_0004cb50();" (call_expression "FUN_0004cb50()" (identifier "FUN_0004cb50") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar15[200] = 3;" (assignment_expression "piVar15[200] = 3" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "3")) (; ";")) (expression_statement "piVar15[0xcb] = 1;" (assignment_expression "piVar15[0xcb] = 1" (subscript_expression "piVar15[0xcb]" (identifier "piVar15") ([ "[") (number_literal "0xcb") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar15[0xe8] = 0;" (assignment_expression "piVar15[0xe8] = 0" (subscript_expression "piVar15[0xe8]" (identifier "piVar15") ([ "[") (number_literal "0xe8") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar15[6] != 0) {\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }" (if "if") (parenthesized_expression "(piVar15[6] != 0)" (( "(") (binary_expression "piVar15[6] != 0" (subscript_expression "piVar15[6]" (identifier "piVar15") ([ "[") (number_literal "6") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n                  }" ({ "{") (expression_statement "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];" (assignment_expression "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7]" (subscript_expression "piVar15[0xe8]" (identifier "piVar15") ([ "[") (number_literal "0xe8") (] "]")) (= "=") (binary_expression "piVar15[7] * 8 * local_446c + piVar15[0xe7]" (binary_expression "piVar15[7] * 8 * local_446c" (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]")) (* "*") (number_literal "8")) (* "*") (identifier "local_446c")) (+ "+") (subscript_expression "piVar15[0xe7]" (identifier "piVar15") ([ "[") (number_literal "0xe7") (] "]")))) (; ";")) (} "}"))) (if_statement "if ((local_4434[0] != 0) && (bVar21)) {\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }" (if "if") (parenthesized_expression "((local_4434[0] != 0) && (bVar21))" (( "(") (binary_expression "(local_4434[0] != 0) && (bVar21)" (parenthesized_expression "(local_4434[0] != 0)" (( "(") (binary_expression "local_4434[0] != 0" (subscript_expression "local_4434[0]" (identifier "local_4434") ([ "[") (number_literal "0") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")"))) () ")")) (compound_statement "{\n                    iVar16 = FUN_0004ffc0();\n                    FUN_0004cba0();\n                  }" ({ "{") (expression_statement "iVar16 = FUN_0004ffc0();" (assignment_expression "iVar16 = FUN_0004ffc0()" (identifier "iVar16") (= "=") (call_expression "FUN_0004ffc0()" (identifier "FUN_0004ffc0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0004cba0();" (call_expression "FUN_0004cba0()" (identifier "FUN_0004cba0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar8 = iVar16;" (assignment_expression "iVar8 = iVar16" (identifier "iVar8") (= "=") (identifier "iVar16")) (; ";")) (if_statement "if (param_1[0xcca] == 0) goto LAB_00051052;" (if "if") (parenthesized_expression "(param_1[0xcca] == 0)" (( "(") (binary_expression "param_1[0xcca] == 0" (subscript_expression "param_1[0xcca]" (identifier "param_1") ([ "[") (number_literal "0xcca") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00051052;" (goto "goto") (statement_identifier "LAB_00051052") (; ";"))) (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1)" (identifier "FormatMagickSize") (argument_list "(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,\n                                   param_1,param_1)" (( "(") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (, ",") (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]")) (, ",") (number_literal "1") (, ",") (pointer_expression "&DAT_0030c34a" (& "&") (identifier "DAT_0030c34a")) (, ",") (number_literal "0x1000") (, ",") (identifier "local_2020") (, ",") (identifier "param_1") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" (identifier "uVar7") (= "=") (call_expression "CommandOptionToMnemonic(3,piVar15[200])" (identifier "CommandOptionToMnemonic") (argument_list "(3,piVar15[200])" (( "(") (number_literal "3") (, ",") (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) () ")")))) (; ";")) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[7]" (identifier "local_4494") (= "=") (cast_expression "(ulonglong)(uint)piVar15[7]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]"))))) (; ";")) (expression_statement "dVar5 = (double)local_4494;" (assignment_expression "dVar5 = (double)local_4494" (identifier "dVar5") (= "=") (cast_expression "(double)local_4494" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4494"))) (; ";")) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[5]" (identifier "local_4494") (= "=") (cast_expression "(ulonglong)(uint)piVar15[5]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[5]" (identifier "piVar15") ([ "[") (number_literal "5") (] "]"))))) (; ";")) (expression_statement "dVar6 = (double)local_4494;" (assignment_expression "dVar6 = (double)local_4494" (identifier "dVar6") (= "=") (cast_expression "(double)local_4494" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4494"))) (; ";")) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[4]" (identifier "local_4494") (= "=") (cast_expression "(ulonglong)(uint)piVar15[4]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]"))))) (; ";")) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" (identifier "FormatLocaleString") (argument_list "(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" (( "(") (identifier "local_1020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" (" """) (string_content "open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)") (" """)) (, ",") (identifier "piVar10") (, ",") (binary_expression "piVar15 + 0x4ea" (identifier "piVar15") (+ "+") (number_literal "0x4ea")) (, ",") (subscript_expression "piVar15[0xe9]" (identifier "piVar15") ([ "[") (number_literal "0xe9") (] "]")) (, ",") (identifier "uVar7") (, ",") (cast_expression "(double)local_4494" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4494")) (, ",") (identifier "dVar6") (, ",") (identifier "dVar5") (, ",") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "uVar7 = 0xf74;" (assignment_expression "uVar7 = 0xf74" (identifier "uVar7") (= "=") (number_literal "0xf74")) (; ";")) (} "}")) (else_clause "else {\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }" (else "else") (compound_statement "{\nLAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }\n                  if (param_1[0xcca] == 0) goto LAB_00051052;\n                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);\n                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n                  local_4494 = (ulonglong)(uint)piVar15[7];\n                  dVar5 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[5];\n                  dVar6 = (double)local_4494;\n                  local_4494 = (ulonglong)(uint)piVar15[4];\n                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);\n                  uVar7 = 0xf91;\n                  iVar16 = iVar8;\n                }" ({ "{") (labeled_statement "LAB_0005102c:\n                  if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" (statement_identifier "LAB_0005102c") (: ":") (if_statement "if ((local_4434[0] == 0) || (!bVar21)) {\n                    iVar8 = 1;\n                  }\n                  else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" (if "if") (parenthesized_expression "((local_4434[0] == 0) || (!bVar21))" (( "(") (binary_expression "(local_4434[0] == 0) || (!bVar21)" (parenthesized_expression "(local_4434[0] == 0)" (( "(") (binary_expression "local_4434[0] == 0" (subscript_expression "local_4434[0]" (identifier "local_4434") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(!bVar21)" (( "(") (unary_expression "!bVar21" (! "!") (identifier "bVar21")) () ")"))) () ")")) (compound_statement "{\n                    iVar8 = 1;\n                  }" ({ "{") (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" (else "else") (compound_statement "{\n                    iVar8 = FUN_0004ffc0();\n                    iVar16 = FUN_0004cba0();\n                  }" ({ "{") (expression_statement "iVar8 = FUN_0004ffc0();" (assignment_expression "iVar8 = FUN_0004ffc0()" (identifier "iVar8") (= "=") (call_expression "FUN_0004ffc0()" (identifier "FUN_0004ffc0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar16 = FUN_0004cba0();" (assignment_expression "iVar16 = FUN_0004cba0()" (identifier "iVar16") (= "=") (call_expression "FUN_0004cba0()" (identifier "FUN_0004cba0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))))) (if_statement "if (param_1[0xcca] == 0) goto LAB_00051052;" (if "if") (parenthesized_expression "(param_1[0xcca] == 0)" (( "(") (binary_expression "param_1[0xcca] == 0" (subscript_expression "param_1[0xcca]" (identifier "param_1") ([ "[") (number_literal "0xcca") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00051052;" (goto "goto") (statement_identifier "LAB_00051052") (; ";"))) (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16)" (identifier "FormatMagickSize") (argument_list "(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,\n                                   iVar16,iVar16)" (( "(") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (, ",") (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]")) (, ",") (number_literal "0") (, ",") (pointer_expression "&DAT_0030c34a" (& "&") (identifier "DAT_0030c34a")) (, ",") (number_literal "0x1000") (, ",") (identifier "local_2020") (, ",") (identifier "iVar16") (, ",") (identifier "iVar16") () ")"))) (; ";")) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" (identifier "uVar7") (= "=") (call_expression "CommandOptionToMnemonic(3,piVar15[200])" (identifier "CommandOptionToMnemonic") (argument_list "(3,piVar15[200])" (( "(") (number_literal "3") (, ",") (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) () ")")))) (; ";")) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[7]" (identifier "local_4494") (= "=") (cast_expression "(ulonglong)(uint)piVar15[7]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]"))))) (; ";")) (expression_statement "dVar5 = (double)local_4494;" (assignment_expression "dVar5 = (double)local_4494" (identifier "dVar5") (= "=") (cast_expression "(double)local_4494" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4494"))) (; ";")) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[5]" (identifier "local_4494") (= "=") (cast_expression "(ulonglong)(uint)piVar15[5]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[5]" (identifier "piVar15") ([ "[") (number_literal "5") (] "]"))))) (; ";")) (expression_statement "dVar6 = (double)local_4494;" (assignment_expression "dVar6 = (double)local_4494" (identifier "dVar6") (= "=") (cast_expression "(double)local_4494" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4494"))) (; ";")) (expression_statement "local_4494 = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_4494 = (ulonglong)(uint)piVar15[4]" (identifier "local_4494") (= "=") (cast_expression "(ulonglong)(uint)piVar15[4]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]"))))) (; ";")) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" (identifier "FormatLocaleString") (argument_list "(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",\n                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,\n                                     dVar6,dVar5,local_2020)" (( "(") (identifier "local_1020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)"" (" """) (string_content "open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)") (" """)) (, ",") (identifier "piVar10") (, ",") (binary_expression "piVar15 + 0x4ea" (identifier "piVar15") (+ "+") (number_literal "0x4ea")) (, ",") (subscript_expression "piVar15[0xe9]" (identifier "piVar15") ([ "[") (number_literal "0xe9") (] "]")) (, ",") (identifier "uVar7") (, ",") (cast_expression "(double)local_4494" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4494")) (, ",") (identifier "dVar6") (, ",") (identifier "dVar5") (, ",") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "uVar7 = 0xf91;" (assignment_expression "uVar7 = 0xf91" (identifier "uVar7") (= "=") (number_literal "0xf91")) (; ";")) (expression_statement "iVar16 = iVar8;" (assignment_expression "iVar16 = iVar8" (identifier "iVar16") (= "=") (identifier "iVar8")) (; ";")) (} "}")))) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020)" (identifier "LogMagickEvent") (argument_list "(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,\n                               local_1020)" (( "(") (number_literal "8") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (identifier "uVar7") (, ",") (pointer_expression "&DAT_002b6e4e" (& "&") (identifier "DAT_002b6e4e")) (, ",") (identifier "local_1020") () ")"))) (; ";")) (expression_statement "iVar8 = iVar16;" (assignment_expression "iVar8 = iVar16" (identifier "iVar8") (= "=") (identifier "iVar16")) (; ";")) (goto_statement "goto LAB_00051052;" (goto "goto") (statement_identifier "LAB_00051052") (; ";")) (} "}"))) (} "}")))) (} "}"))) (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar15 = __errno_location();" (assignment_expression "piVar15 = __errno_location()" (identifier "piVar15") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar11 = GetExceptionMessage(*piVar15);" (assignment_expression "uVar11 = GetExceptionMessage(*piVar15)" (identifier "uVar11") (= "=") (call_expression "GetExceptionMessage(*piVar15)" (identifier "GetExceptionMessage") (argument_list "(*piVar15)" (( "(") (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) () ")")))) (; ";")) (expression_statement "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11);" (call_expression "ThrowMagickException\n                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11)" (identifier "ThrowMagickException") (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"\n                     ,"\'%s\': %s",piVar1,uVar11)" (( "(") (identifier "param_3") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (number_literal "0xf42") (, ",") (number_literal "0x1bd") (, ",") (string_literal ""UnableToExtendCache"" (" """) (string_content "UnableToExtendCache") (" """)) (, ",") (string_literal ""\'%s\': %s"" (" """) (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ": %s") (" """)) (, ",") (identifier "piVar1") (, ",") (identifier "uVar11") () ")"))) (; ";")) (expression_statement "DestroyString(uVar11);" (call_expression "DestroyString(uVar11)" (identifier "DestroyString") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }" (else "else") (compound_statement "{\n          uVar9 = piVar15[6] + piVar15[7] * 8;\n          iVar16 = piVar15[0xcf];\n          iVar18 = piVar15[0xce];\n          if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;\n          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);\n          if (iVar16 == 0) goto LAB_00051068;\n          if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }\n          if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }\n          piVar15[200] = 4;\n          piVar15[0xe8] = 0;\n          if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }\n          if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }\n          if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }\n          *piVar15 = *param_1;\nLAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }\n        }" ({ "{") (expression_statement "uVar9 = piVar15[6] + piVar15[7] * 8;" (assignment_expression "uVar9 = piVar15[6] + piVar15[7] * 8" (identifier "uVar9") (= "=") (binary_expression "piVar15[6] + piVar15[7] * 8" (subscript_expression "piVar15[6]" (identifier "piVar15") ([ "[") (number_literal "6") (] "]")) (+ "+") (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]")) (* "*") (number_literal "8")))) (; ";")) (expression_statement "iVar16 = piVar15[0xcf];" (assignment_expression "iVar16 = piVar15[0xcf]" (identifier "iVar16") (= "=") (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]"))) (; ";")) (expression_statement "iVar18 = piVar15[0xce];" (assignment_expression "iVar18 = piVar15[0xce]" (identifier "iVar18") (= "=") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]"))) (; ";")) (if_statement "if (((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;" (if "if") (parenthesized_expression "(((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0))" (( "(") (binary_expression "((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||\n             ((piVar15[200] & 0xfffffffbU) != 0)" (parenthesized_expression "((iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0))" (( "(") (binary_expression "(iVar8 == 0) ||\n              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)" (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)" (( "(") (binary_expression "local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0" (binary_expression "local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20)" (binary_expression "local_4468 * uVar9" (identifier "local_4468") (* "*") (identifier "uVar9")) (+ "+") (cast_expression "(int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20" (binary_expression "(ulonglong)uVar9 * (uVar4 & 0xffffffff)" (cast_expression "(ulonglong)uVar9" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar9")) (* "*") (parenthesized_expression "(uVar4 & 0xffffffff)" (( "(") (binary_expression "uVar4 & 0xffffffff" (identifier "uVar4") (& "&") (number_literal "0xffffffff")) () ")"))) (>> ">>") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((piVar15[200] & 0xfffffffbU) != 0)" (( "(") (binary_expression "(piVar15[200] & 0xfffffffbU) != 0" (parenthesized_expression "(piVar15[200] & 0xfffffffbU)" (( "(") (binary_expression "piVar15[200] & 0xfffffffbU" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (& "&") (number_literal "0xfffffffbU")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00050cf5;" (goto "goto") (statement_identifier "LAB_00050cf5") (; ";"))) (expression_statement "iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);" (assignment_expression "iVar16 = AcquireMagickResource(6,iVar18,iVar16,0)" (identifier "iVar16") (= "=") (call_expression "AcquireMagickResource(6,iVar18,iVar16,0)" (identifier "AcquireMagickResource") (argument_list "(6,iVar18,iVar16,0)" (( "(") (number_literal "6") (, ",") (identifier "iVar18") (, ",") (identifier "iVar16") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar16 == 0) goto LAB_00051068;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00051068;" (goto "goto") (statement_identifier "LAB_00051068") (; ";"))) (if_statement "if (DAT_003d9d78 < 1) {\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }\n          else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }" (if "if") (parenthesized_expression "(DAT_003d9d78 < 1)" (( "(") (binary_expression "DAT_003d9d78 < 1" (identifier "DAT_003d9d78") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n            piVar15[0xcb] = 0;\n            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);\n            piVar15[0xe7] = iVar8;\n          }" ({ "{") (expression_statement "piVar15[0xcb] = 0;" (assignment_expression "piVar15[0xcb] = 0" (subscript_expression "piVar15[0xcb]" (identifier "piVar15") ([ "[") (number_literal "0xcb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);" (assignment_expression "iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8)" (identifier "iVar8") (= "=") (call_expression "AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8)" (identifier "AcquireAlignedMemory") (argument_list "(1,piVar15[0xce],iVar8,iVar8)" (( "(") (number_literal "1") (, ",") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (, ",") (identifier "iVar8") (, ",") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "piVar15[0xe7] = iVar8;" (assignment_expression "piVar15[0xe7] = iVar8" (subscript_expression "piVar15[0xe7]" (identifier "piVar15") ([ "[") (number_literal "0xe7") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (} "}")) (else_clause "else {\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }" (else "else") (compound_statement "{\n            piVar15[0xcb] = 1;\n            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);\n            piVar15[0xe7] = iVar8;\n          }" ({ "{") (expression_statement "piVar15[0xcb] = 1;" (assignment_expression "piVar15[0xcb] = 1" (subscript_expression "piVar15[0xcb]" (identifier "piVar15") ([ "[") (number_literal "0xcb") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);" (assignment_expression "iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce])" (identifier "iVar8") (= "=") (call_expression "MapBlob(0xffffffff,2,0,0,piVar15[0xce])" (identifier "MapBlob") (argument_list "(0xffffffff,2,0,0,piVar15[0xce])" (( "(") (number_literal "0xffffffff") (, ",") (number_literal "2") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) () ")")))) (; ";")) (expression_statement "piVar15[0xe7] = iVar8;" (assignment_expression "piVar15[0xe7] = iVar8" (subscript_expression "piVar15[0xe7]" (identifier "piVar15") ([ "[") (number_literal "0xe7") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (} "}")))) (if_statement "if (piVar15[0xe7] == 0) {\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }" (if "if") (parenthesized_expression "(piVar15[0xe7] == 0)" (( "(") (binary_expression "piVar15[0xe7] == 0" (subscript_expression "piVar15[0xe7]" (identifier "piVar15") ([ "[") (number_literal "0xe7") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar16 = piVar15[0xcf];\n            piVar15[0xcb] = local_4108;\n            piVar15[0xe7] = local_4098;\n            iVar18 = piVar15[0xce];\n            goto LAB_00050cf5;\n          }" ({ "{") (expression_statement "iVar16 = piVar15[0xcf];" (assignment_expression "iVar16 = piVar15[0xcf]" (identifier "iVar16") (= "=") (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]"))) (; ";")) (expression_statement "piVar15[0xcb] = local_4108;" (assignment_expression "piVar15[0xcb] = local_4108" (subscript_expression "piVar15[0xcb]" (identifier "piVar15") ([ "[") (number_literal "0xcb") (] "]")) (= "=") (identifier "local_4108")) (; ";")) (expression_statement "piVar15[0xe7] = local_4098;" (assignment_expression "piVar15[0xe7] = local_4098" (subscript_expression "piVar15[0xe7]" (identifier "piVar15") ([ "[") (number_literal "0xe7") (] "]")) (= "=") (identifier "local_4098")) (; ";")) (expression_statement "iVar18 = piVar15[0xce];" (assignment_expression "iVar18 = piVar15[0xce]" (identifier "iVar18") (= "=") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]"))) (; ";")) (goto_statement "goto LAB_00050cf5;" (goto "goto") (statement_identifier "LAB_00050cf5") (; ";")) (} "}"))) (expression_statement "piVar15[200] = 4;" (assignment_expression "piVar15[200] = 4" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "piVar15[0xe8] = 0;" (assignment_expression "piVar15[0xe8] = 0" (subscript_expression "piVar15[0xe8]" (identifier "piVar15") ([ "[") (number_literal "0xe8") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (piVar15[6] != 0) {\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }" (if "if") (parenthesized_expression "(piVar15[6] != 0)" (( "(") (binary_expression "piVar15[6] != 0" (subscript_expression "piVar15[6]" (identifier "piVar15") ([ "[") (number_literal "6") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];\n          }" ({ "{") (expression_statement "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];" (assignment_expression "piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7]" (subscript_expression "piVar15[0xe8]" (identifier "piVar15") ([ "[") (number_literal "0xe8") (] "]")) (= "=") (binary_expression "piVar15[7] * 8 * local_446c + piVar15[0xe7]" (binary_expression "piVar15[7] * 8 * local_446c" (binary_expression "piVar15[7] * 8" (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]")) (* "*") (number_literal "8")) (* "*") (identifier "local_446c")) (+ "+") (subscript_expression "piVar15[0xe7]" (identifier "piVar15") ([ "[") (number_literal "0xe7") (] "]")))) (; ";")) (} "}"))) (if_statement "if ((local_4434[0] == 0) || (param_2 == 0)) {\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }\n          else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }" (if "if") (parenthesized_expression "((local_4434[0] == 0) || (param_2 == 0))" (( "(") (binary_expression "(local_4434[0] == 0) || (param_2 == 0)" (parenthesized_expression "(local_4434[0] == 0)" (( "(") (binary_expression "local_4434[0] == 0" (subscript_expression "local_4434[0]" (identifier "local_4434") ([ "[") (number_literal "0") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            iVar8 = 1;\n            piVar14 = piVar15;\n          }" ({ "{") (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar14 = piVar15;" (assignment_expression "piVar14 = piVar15" (identifier "piVar14") (= "=") (identifier "piVar15")) (; ";")) (} "}")) (else_clause "else {\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }" (else "else") (compound_statement "{\n            iVar8 = FUN_0004ffc0();\n            FUN_0004cba0();\n          }" ({ "{") (expression_statement "iVar8 = FUN_0004ffc0();" (assignment_expression "iVar8 = FUN_0004ffc0()" (identifier "iVar8") (= "=") (call_expression "FUN_0004ffc0()" (identifier "FUN_0004ffc0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0004cba0();" (call_expression "FUN_0004cba0()" (identifier "FUN_0004cba0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (if_statement "if (param_1[0xcca] != 0) {\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }" (if "if") (parenthesized_expression "(param_1[0xcca] != 0)" (( "(") (binary_expression "param_1[0xcca] != 0" (subscript_expression "param_1[0xcca]" (identifier "param_1") ([ "[") (number_literal "0xcca") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);\n            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);\n            local_4484 = (ulonglong)(uint)piVar15[7];\n            dVar5 = (double)local_4484;\n            local_4484 = (ulonglong)(uint)piVar15[5];\n            dVar6 = (double)local_4484;\n            pcVar27 = "Heap";\n            local_4484 = (ulonglong)(uint)piVar15[4];\n            if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }\n            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);\n            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);\n          }" ({ "{") (expression_statement "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14);" (call_expression "FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14)" (identifier "FormatMagickSize") (argument_list "(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,\n                             piVar14)" (( "(") (subscript_expression "piVar15[0xce]" (identifier "piVar15") ([ "[") (number_literal "0xce") (] "]")) (, ",") (subscript_expression "piVar15[0xcf]" (identifier "piVar15") ([ "[") (number_literal "0xcf") (] "]")) (, ",") (number_literal "1") (, ",") (pointer_expression "&DAT_0030c34a" (& "&") (identifier "DAT_0030c34a")) (, ",") (number_literal "0x1000") (, ",") (identifier "local_2020") (, ",") (identifier "piVar14") (, ",") (identifier "piVar14") () ")"))) (; ";")) (expression_statement "uVar7 = CommandOptionToMnemonic(3,piVar15[200]);" (assignment_expression "uVar7 = CommandOptionToMnemonic(3,piVar15[200])" (identifier "uVar7") (= "=") (call_expression "CommandOptionToMnemonic(3,piVar15[200])" (identifier "CommandOptionToMnemonic") (argument_list "(3,piVar15[200])" (( "(") (number_literal "3") (, ",") (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) () ")")))) (; ";")) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[7];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[7]" (identifier "local_4484") (= "=") (cast_expression "(ulonglong)(uint)piVar15[7]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[7]" (identifier "piVar15") ([ "[") (number_literal "7") (] "]"))))) (; ";")) (expression_statement "dVar5 = (double)local_4484;" (assignment_expression "dVar5 = (double)local_4484" (identifier "dVar5") (= "=") (cast_expression "(double)local_4484" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4484"))) (; ";")) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[5];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[5]" (identifier "local_4484") (= "=") (cast_expression "(ulonglong)(uint)piVar15[5]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[5]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[5]" (identifier "piVar15") ([ "[") (number_literal "5") (] "]"))))) (; ";")) (expression_statement "dVar6 = (double)local_4484;" (assignment_expression "dVar6 = (double)local_4484" (identifier "dVar6") (= "=") (cast_expression "(double)local_4484" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4484"))) (; ";")) (expression_statement "pcVar27 = "Heap";" (assignment_expression "pcVar27 = "Heap"" (identifier "pcVar27") (= "=") (string_literal ""Heap"" (" """) (string_content "Heap") (" """))) (; ";")) (expression_statement "local_4484 = (ulonglong)(uint)piVar15[4];" (assignment_expression "local_4484 = (ulonglong)(uint)piVar15[4]" (identifier "local_4484") (= "=") (cast_expression "(ulonglong)(uint)piVar15[4]" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (cast_expression "(uint)piVar15[4]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar15[4]" (identifier "piVar15") ([ "[") (number_literal "4") (] "]"))))) (; ";")) (if_statement "if (piVar15[0xcb] != 0) {\n              pcVar27 = "Anonymous";\n            }" (if "if") (parenthesized_expression "(piVar15[0xcb] != 0)" (( "(") (binary_expression "piVar15[0xcb] != 0" (subscript_expression "piVar15[0xcb]" (identifier "piVar15") ([ "[") (number_literal "0xcb") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pcVar27 = "Anonymous";\n            }" ({ "{") (expression_statement "pcVar27 = "Anonymous";" (assignment_expression "pcVar27 = "Anonymous"" (identifier "pcVar27") (= "=") (string_literal ""Anonymous"" (" """) (string_content "Anonymous") (" """))) (; ";")) (} "}"))) (expression_statement "FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);" (call_expression "FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020)" (identifier "FormatLocaleString") (argument_list "(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,\n                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020)" (( "(") (identifier "local_1020") (, ",") (number_literal "0x1000") (, ",") (string_literal ""open %s (%s %s, %.20gx%.20gx%.20g %s)"" (" """) (string_content "open %s (%s %s, %.20gx%.20gx%.20g %s)") (" """)) (, ",") (identifier "piVar10") (, ",") (identifier "pcVar27") (, ",") (identifier "uVar7") (, ",") (cast_expression "(double)local_4484" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "local_4484")) (, ",") (identifier "dVar6") (, ",") (identifier "dVar5") (, ",") (identifier "local_2020") () ")"))) (; ";")) (expression_statement "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);" (call_expression "LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020)" (identifier "LogMagickEvent") (argument_list "(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020)" (( "(") (number_literal "8") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (number_literal "0xed2") (, ",") (pointer_expression "&DAT_002b6e4e" (& "&") (identifier "DAT_002b6e4e")) (, ",") (identifier "local_1020") () ")"))) (; ";")) (} "}"))) (expression_statement "*piVar15 = *param_1;" (assignment_expression "*piVar15 = *param_1" (pointer_expression "*piVar15" (* "*") (identifier "piVar15")) (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (labeled_statement "LAB_00051052:\n          if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }" (statement_identifier "LAB_00051052") (: ":") (if_statement "if (iVar8 == 0) {\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }\n          else {\n            uVar7 = 1;\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            piVar15[200] = 0;\n            uVar7 = 0;\n          }" ({ "{") (expression_statement "piVar15[200] = 0;" (assignment_expression "piVar15[200] = 0" (subscript_expression "piVar15[200]" (identifier "piVar15") ([ "[") (number_literal "200") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            uVar7 = 1;\n          }" (else "else") (compound_statement "{\n            uVar7 = 1;\n          }" ({ "{") (expression_statement "uVar7 = 1;" (assignment_expression "uVar7 = 1" (identifier "uVar7") (= "=") (number_literal "1")) (; ";")) (} "}"))))) (} "}")))) (goto_statement "goto LAB_00050b1b;" (goto "goto") (statement_identifier "LAB_00050b1b") (; ";")) (} "}"))) (expression_statement "pcVar27 = "PixelCacheAllocationFailed";" (assignment_expression "pcVar27 = "PixelCacheAllocationFailed"" (identifier "pcVar27") (= "=") (string_literal ""PixelCacheAllocationFailed"" (" """) (string_content "PixelCacheAllocationFailed") (" """))) (; ";")) (expression_statement "uVar11 = 400;" (assignment_expression "uVar11 = 400" (identifier "uVar11") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar7 = 0xe8c;" (assignment_expression "uVar7 = 0xe8c" (identifier "uVar7") (= "=") (number_literal "0xe8c")) (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_00050aff:\n  ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);" (statement_identifier "LAB_00050aff") (: ":") (expression_statement "ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6);" (call_expression "ThrowMagickException\n            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6)" (identifier "ThrowMagickException") (argument_list "(param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",\n             param_1 + 0xc6)" (( "(") (identifier "param_3") (, ",") (string_literal ""MagickCore/cache.c"" (" """) (string_content "MagickCore/cache.c") (" """)) (, ",") (string_literal ""OpenPixelCache"" (" """) (string_content "OpenPixelCache") (" """)) (, ",") (identifier "uVar7") (, ",") (identifier "uVar11") (, ",") (identifier "pcVar27") (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0xc6" (identifier "param_1") (+ "+") (number_literal "0xc6")) () ")"))) (; ";"))) (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00050b1b:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_0029eab0();\n  }" (statement_identifier "LAB_00050b1b") (: ":") (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 uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Removing unreachable block (ram,0x00050f77) */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */

type_1 __regparm3 function_1(type_2 *var_2,type_3 var_40,type_4 *exception)

{
  int var_69;
  type_5 *clone_info;
  size_t var_22;
  type_6 uVar3;
  type_6 var_28;
  type_7 CVar5;
  type_8 var_24;
  type_9 lVar6;
  double dVar7;
  double dVar8;
  double dVar9;
  size_t var_23;
  type_1 var_16;
  type_10 uVar12;
  type_6 var_26;
  type_10 uVar14;
  type_1 var_32;
  void *var_33;
  type_11 *var_35;
  int *piVar17;
  char *pcVar18;
  char *pcVar19;
  ssize_t var_57;
  type_5 *pCVar21;
  char *var_8;
  type_12 *var_64;
  type_5 *pCVar24;
  int var_10;
  type_5 *var_62;
  type_13 *pPVar27;
  type_13 *pPVar28;
  int var_55;
  int var_1;
  bool bVar30;
  type_14 bVar31;
  type_15 var_13;
  type_16 uVar33;
  type_8 var_54;
  type_17 var_61;
  type_18 severity;
  type_19 type;
  type_2 *pIVar36;
  type_16 local_4494;
  type_16 local_4484;
  type_16 local_447c;
  int var_66;
  int var_25;
  type_6 var_60;
  int var_59;
  type_5 source_info;
  char format [4096];
  char message [4096];
  
  bVar31 = 0;
  var_69 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,
                  "OpenPixelCache");
  }
  if (var_2->cache == (void *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");
  }
  if (var_2->debug == var_4) {
    bVar30 = var_5 < 0;
  }
  else {
    var_6(TraceEvent,"MagickCore/cache.c","OpenPixelCache",0xe4b,"%s",var_2->filename);
    bVar30 = var_5 < 0;
  }
  if (bVar30) {
    var_5 = 0;
    var_8 = var_7("pixel-cache-memory");
    if (var_8 == (char *)0x0) {
      var_8 = var_7("cache:memory-map");
    }
    var_10 = var_9(var_8,"anonymous");
    if (var_10 == 0) {
      var_5 = 1;
    }
    var_11(var_8);
  }
  if ((var_2->columns == 0) || (var_2->rows == 0)) {
    var_8 = "NoPixelsDefinedInCache";
    severity = CacheError;
    var_23 = 0xe65;
  }
  else {
    clone_info = (type_5 *)var_2->cache;
    if (clone_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
      var_3("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,
                    "OpenPixelCache");
    }
    var_8 = var_2->filename;
    if (((*(int *)((int)&clone_info->width_limit + 4) == 0) &&
        ((type_6)clone_info->width_limit < var_2->columns)) ||
       ((*(int *)((int)&clone_info->height_limit + 4) == 0 &&
        ((type_6)clone_info->height_limit < var_2->rows)))) {
      var_8 = "WidthOrHeightExceedsLimit";
      severity = ImageError;
      var_23 = 0xe6b;
    }
    else {
      var_13 = var_12(ListLengthResource);
      if (var_13 != 0x7fffffffffffffff) {
        var_23 = var_14(var_2);
        var_16 = var_15(ListLengthResource,(type_8)var_23);
        if (var_16 == var_4) {
          var_17
                    (exception,"MagickCore/cache.c","OpenPixelCache",0xe71,ErrorException,
                     "ListLengthExceedsLimit","`%s\'",var_8);
          var_16 = var_4;
          goto LAB_00050b1b;
        }
      }
      pCVar24 = &source_info;
      pcVar18 = clone_info->filename;
      var_18(pCVar24,clone_info,0x2414);
      source_info.file = -1;
      var_19(pcVar18,0x1000,"%s[%.20g]",var_8,var_20((double)var_2->scene,0),
                         (int)((type_8)(double)var_2->scene >> 0x20));
      clone_info->storage_class = var_2->storage_class;
      clone_info->colorspace = var_2->colorspace;
      clone_info->alpha_trait = var_2->alpha_trait;
      clone_info->channels = var_2->channels;
      clone_info->rows = var_2->rows;
      clone_info->columns = var_2->columns;
      var_21(var_2);
      var_23 = var_2->number_channels;
      pPVar27 = var_2->channel_map;
      clone_info->number_channels = var_23;
      pPVar28 = clone_info->channel_map;
      for (var_10 = 0xc0; var_10 != 0; var_10 = var_10 + -1) {
        pPVar28->channel = pPVar27->channel;
        pPVar27 = (type_13 *)((int)pPVar27 + (type_6)bVar31 * -8 + 4);
        pPVar28 = (type_13 *)((int)pPVar28 + (type_6)bVar31 * -8 + 4);
      }
      var_22 = var_2->metacontent_extent;
      uVar3 = clone_info->rows;
      clone_info->var_40 = var_40;
      var_28 = clone_info->columns;
      clone_info->metacontent_extent = var_22;
      var_24 = (type_8)var_28 * (type_8)uVar3;
      var_26 = var_22 + var_23 * 8;
      var_25 = (int)(var_24 >> 0x20);
      var_66 = (int)var_24;
      lVar6 = (type_8)var_26 * (var_24 & 0xffffffff);
      uVar12 = (type_10)lVar6;
      var_10 = (int)((type_8)lVar6 >> 0x20) + var_25 * var_26;
      uVar33 = var_27(uVar12,var_10,uVar3,0);
      var_26 = var_27(uVar33,var_26,0);
      if (((var_28 == var_26) && (-1 < (int)var_28)) && (-1 < (int)uVar3)) {
        var_16 = var_2->ping;
        *(type_10 *)&clone_info->length = uVar12;
        *(int *)((int)&clone_info->length + 4) = var_10;
        if (var_16 != var_4) {
          var_16 = MagickTrue;
          clone_info->storage_class = var_2->storage_class;
          CVar5 = var_2->colorspace;
          clone_info->type = PingCache;
          clone_info->colorspace = CVar5;
          goto LAB_00050b1b;
        }
        var_16 = var_15(AreaResource,var_24);
        if (clone_info->var_40 == var_29) {
LAB_00051068:
          uVar12 = *(type_10 *)((int)&clone_info->length + 4);
          uVar14 = (type_10)clone_info->length;
LAB_00050cf5:
          var_32 = var_15(DiskResource,var_30(uVar12,uVar14));
          var_33 = var_31(StringRegistryType,"cache:hosts",exception);
          var_16 = var_4;
          if ((var_32 == var_4) && (var_33 != (void *)0x0)) {
            var_35 = var_34(exception);
            if (var_35 != (type_11 *)0x0) {
              var_32 = var_36(var_35,var_2);
              if (var_32 != var_4) {
                clone_info->var_35 = var_35;
                clone_info->type = DistributedCache;
                var_10 = var_37(var_35);
                var_8 = var_38((type_11 *)clone_info->var_35)
                ;
                var_19(clone_info->cache_filename,0x1000,"%s:%d",var_8,var_10);
                if ((source_info.storage_class == var_39) || (var_40 == var_41)) {
                  var_62 = (type_5 *)0x1;
                }
                else {
                  var_62 = (type_5 *)var_42(clone_info,pCVar24,exception);
                  var_43(pCVar24);
                }
                if (var_2->debug != var_4) {
                  pCVar24 = var_62;
                  pCVar21 = var_62;
                  var_44(clone_info->length,var_4,"B",0x1000,format);
                  var_8 = var_45(MagickCacheOptions,clone_info->type);
                  local_4494 = (type_8)clone_info->number_channels;
                  dVar7 = (double)local_4494;
                  local_4484 = (type_8)clone_info->rows;
                  dVar8 = (double)local_4484;
                  local_447c = (type_8)clone_info->columns;
                  dVar9 = (double)local_447c;
                  var_10 = var_46((type_11 *)clone_info->var_35);
                  local_4494._4_4_ = (type_10)((type_8)dVar7 >> 0x20);
                  local_4494._0_4_ = var_20(dVar7,0);
                  local_4484._4_4_ = (type_10)((type_8)dVar8 >> 0x20);
                  local_4484._0_4_ = var_20(dVar8,0);
                  local_447c._4_4_ = (type_10)((type_8)dVar9 >> 0x20);
                  local_447c._0_4_ = var_20(dVar9,0);
                  var_19(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     pcVar18,clone_info->cache_filename,var_10,var_8,
                                     (type_10)local_447c,local_447c._4_4_,(type_10)local_4484,
                                     local_4484._4_4_,(type_10)local_4494,local_4494._4_4_,format
                                     ,pCVar24,pCVar21);
                  var_6(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xf15,"%s",message
                                );
                }
                goto LAB_00051052;
              }
              piVar17 = var_47();
              pcVar18 = var_48(*piVar17);
              pcVar19 = var_38(var_35);
              var_17
                        (exception,"MagickCore/cache.c","OpenPixelCache",0xef1,CacheError,
                         "UnableToOpenPixelCache","\'%s\': %s",pcVar19,pcVar18);
              var_11(pcVar18);
              var_49(var_35);
            }
            clone_info->type = var_67;
            var_17
                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf21,CacheError,
                       "CacheResourcesExhausted","`%s\'",var_8);
            goto LAB_00050b1b;
          }
          if (var_32 == var_4) {
            clone_info->type = var_67;
            var_8 = "CacheResourcesExhausted";
            severity = CacheError;
            var_23 = 0xf2b;
            goto LAB_00050aff;
          }
          bVar30 = var_40 != var_41;
          if (((source_info.storage_class != var_39) && (bVar30)) &&
             (clone_info->var_40 != var_29)) {
            var_50((type_5 *)&clone_info->file);
            clone_info->cache_filename[0] = '\0';
          }
          var_32 = var_51(clone_info,var_40);
          if (var_32 == var_4) {
            clone_info->type = var_67;
            piVar17 = var_47();
            pcVar18 = var_48(*piVar17);
            var_17
                      (exception,"MagickCore/cache.c","OpenPixelCache",0xf39,CacheError,
                       "UnableToOpenPixelCache","\'%s\': %s",var_8,pcVar18);
            var_11(pcVar18);
            var_16 = var_4;
            goto LAB_00050b1b;
          }
          var_26 = (type_6)clone_info->length;
          var_10 = var_26 + (int)clone_info->offset;
          var_55 = *(int *)((int)&clone_info->length + 4) + *(int *)((int)&clone_info->offset + 4) +
                   (type_6)var_52(var_26,(type_6)clone_info->offset);
          var_33 = var_2->cache;
          var_32 = var_2->debug;
          if (var_32 != var_4) {
            var_44(var_30(var_55,var_10),var_4,"B",0x1000,format);
            var_19(message,0x1000,"extend %s (%s[%d], disk, %s)",(int)var_33 + 0x3a8,
                               (int)var_33 + 0x13a8,*(type_10 *)((int)var_33 + 0x3a4),format,
                               var_32);
            var_6(CacheEvent,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,"%s",message)
            ;
          }
          var_54 = var_53(*(int *)((int)var_33 + 0x3a4),0,2);
          if (-1 < (type_9)var_54) {
            if (var_54 < var_30(var_55,var_10)) {
              var_26 = var_10 - 1;
              var_10 = var_55 + -1 + (type_6)(var_10 != 0);
              do {
                var_57 = var_56(*(int *)((int)var_33 + 0x3a4),&DAT_0030570a,1,
                                  var_30(var_10,var_26));
                if (0 < var_57) {
                  if (var_57 == 1) {
                    if (*(int *)((int)var_33 + 0x23dc) == 0) goto LAB_00050fd6;
                    var_60 = (type_6)var_54;
                    var_59 = (int)(var_54 >> 0x20);
                    var_10 = var_58(*(int *)((int)var_33 + 0x3a4),
                                               var_30(var_59 + (type_6)(0xfffffffe < var_60)
                                                        ,var_60 + 1),
                                               var_30((var_10 - var_59) -
                                                        (type_6)(var_26 < var_60),
                                                        var_26 - var_60));
                    if (var_10 == 0) goto LAB_00050fd6;
                  }
                  break;
                }
                piVar17 = var_47();
              } while (*piVar17 == 4);
            }
            else {
LAB_00050fd6:
              var_61 = var_53(*(int *)((int)var_33 + 0x3a4),0,0);
              if (-1 < var_61) {
                clone_info->type = DiskCache;
                var_26 = clone_info->metacontent_extent + clone_info->number_channels * 8;
                lVar6 = (type_8)var_26 * (var_24 & 0xffffffff);
                pCVar21 = (type_5 *)lVar6;
                if ((var_25 * var_26 + (int)((type_8)lVar6 >> 0x20) == 0) &&
                   (var_62 = (type_5 *)var_15(MapResource,clone_info->length),
                   pCVar21 = var_62, var_62 != (type_5 *)0x0)) {
                  var_64 = (type_12 *)
                            var_63(clone_info->file,var_40,clone_info->offset,
                                    (size_t)clone_info->length);
                  clone_info->pixels = var_64;
                  if (var_64 == (type_12 *)0x0) {
                    clone_info->mapped = source_info.mapped;
                    clone_info->pixels = source_info.pixels;
                    var_65(MapResource,clone_info->length);
                    pCVar21 = (type_5 *)source_info.pixels;
                    goto LAB_0005102c;
                  }
                  var_50((type_5 *)&clone_info->file);
                  clone_info->type = MapCache;
                  clone_info->mapped = MagickTrue;
                  clone_info->metacontent = (void *)0x0;
                  if (clone_info->metacontent_extent != 0) {
                    clone_info->metacontent =
                         (type_12 *)
                         (clone_info->number_channels * 8 * var_66 + (int)clone_info->pixels);
                  }
                  if ((source_info.storage_class != var_39) && (bVar30)) {
                    var_62 = (type_5 *)var_42(clone_info,pCVar24,exception);
                    var_43(pCVar24);
                  }
                  if (var_2->debug == var_4) goto LAB_00051052;
                  pIVar36 = var_2;
                  var_44(clone_info->length,MagickTrue,"B",0x1000,format);
                  var_8 = var_45(MagickCacheOptions,clone_info->type);
                  local_4494 = (type_8)clone_info->number_channels;
                  dVar7 = (double)local_4494;
                  local_4494 = (type_8)clone_info->rows;
                  dVar8 = (double)local_4494;
                  local_4494 = (type_8)clone_info->columns;
                  var_19(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     pcVar18,clone_info->cache_filename,clone_info->file,var_8,
                                     var_20((double)local_4494,0),
                                     (int)((type_8)(double)local_4494 >> 0x20),var_20(dVar8,0),
                                     (int)((type_8)dVar8 >> 0x20),var_20(dVar7,0),
                                     (int)((type_8)dVar7 >> 0x20),format,var_2,pIVar36);
                  var_23 = 0xf74;
                }
                else {
LAB_0005102c:
                  if ((source_info.storage_class == var_39) || (!bVar30)) {
                    var_62 = (type_5 *)0x1;
                    pCVar24 = pCVar21;
                  }
                  else {
                    var_62 = (type_5 *)var_42(clone_info,pCVar24,exception);
                    var_43(pCVar24);
                  }
                  if (var_2->debug == var_4) goto LAB_00051052;
                  pCVar21 = pCVar24;
                  var_44(clone_info->length,var_4,"B",0x1000,format);
                  var_8 = var_45(MagickCacheOptions,clone_info->type);
                  local_4494 = (type_8)clone_info->number_channels;
                  dVar7 = (double)local_4494;
                  local_4494 = (type_8)clone_info->rows;
                  dVar8 = (double)local_4494;
                  local_4494 = (type_8)clone_info->columns;
                  var_19(message,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     pcVar18,clone_info->cache_filename,clone_info->file,var_8,
                                     var_20((double)local_4494,0),
                                     (int)((type_8)(double)local_4494 >> 0x20),var_20(dVar8,0),
                                     (int)((type_8)dVar8 >> 0x20),var_20(dVar7,0),
                                     (int)((type_8)dVar7 >> 0x20),format,pCVar24,pCVar21);
                  var_23 = 0xf91;
                }
                var_6(CacheEvent,"MagickCore/cache.c","OpenPixelCache",var_23,"%s",message)
                ;
                goto LAB_00051052;
              }
            }
          }
          clone_info->type = var_67;
          piVar17 = var_47();
          pcVar18 = var_48(*piVar17);
          var_17
                    (exception,"MagickCore/cache.c","OpenPixelCache",0xf42,CacheError,
                     "UnableToExtendCache","\'%s\': %s",var_8,pcVar18);
          var_11(pcVar18);
        }
        else {
          var_26 = clone_info->metacontent_extent + clone_info->number_channels * 8;
          uVar12 = *(type_10 *)((int)&clone_info->length + 4);
          uVar14 = (type_10)clone_info->length;
          if (((var_16 == var_4) ||
              (var_25 * var_26 + (int)((type_8)var_26 * (var_24 & 0xffffffff) >> 0x20) != 0))
             || ((clone_info->type & ~MemoryCache) != var_67)) goto LAB_00050cf5;
          var_16 = var_15(MemoryResource,clone_info->length);
          if (var_16 == var_4) goto LAB_00051068;
          var_23 = (size_t)clone_info->length;
          if (var_5 < 1) {
            clone_info->mapped = var_4;
            var_64 = (type_12 *)var_68(1,var_23);
            clone_info->pixels = var_64;
          }
          else {
            clone_info->mapped = MagickTrue;
            var_64 = (type_12 *)var_63(-1,IOMode,0,var_23);
            clone_info->pixels = var_64;
          }
          if (clone_info->pixels == (type_12 *)0x0) {
            uVar12 = *(type_10 *)((int)&clone_info->length + 4);
            clone_info->mapped = source_info.mapped;
            clone_info->pixels = source_info.pixels;
            uVar14 = (type_10)clone_info->length;
            goto LAB_00050cf5;
          }
          clone_info->type = MemoryCache;
          clone_info->metacontent = (void *)0x0;
          if (clone_info->metacontent_extent != 0) {
            clone_info->metacontent =
                 (type_12 *)(clone_info->number_channels * 8 * var_66 + (int)clone_info->pixels)
            ;
          }
          if ((source_info.storage_class == var_39) || (var_40 == var_41)) {
            var_62 = (type_5 *)0x1;
            pCVar24 = clone_info;
          }
          else {
            var_62 = (type_5 *)var_42(clone_info,pCVar24,exception);
            var_43(pCVar24);
          }
          if (var_2->debug != var_4) {
            pCVar21 = pCVar24;
            var_44(clone_info->length,MagickTrue,"B",0x1000,format);
            type = clone_info->type;
            pcVar19 = var_45(MagickCacheOptions,type);
            local_4484 = (type_8)clone_info->number_channels;
            dVar7 = (double)local_4484;
            local_4484 = (type_8)clone_info->rows;
            dVar8 = (double)local_4484;
            var_8 = "Heap";
            local_4484 = (type_8)clone_info->columns;
            if (clone_info->mapped != var_4) {
              var_8 = "Anonymous";
            }
            var_19(message,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",pcVar18,
                               var_8,pcVar19,var_20((double)local_4484,0),
                               (int)((type_8)(double)local_4484 >> 0x20),var_20(dVar8,0),
                               (int)((type_8)dVar8 >> 0x20),var_20(dVar7,0),
                               (int)((type_8)dVar7 >> 0x20),format,type,pCVar24,pCVar21);
            var_6(CacheEvent,"MagickCore/cache.c","OpenPixelCache",0xed2,"%s",message);
          }
          clone_info->storage_class = var_2->storage_class;
LAB_00051052:
          if (var_62 == (type_5 *)0x0) {
            clone_info->type = var_67;
            var_16 = var_4;
          }
          else {
            var_16 = MagickTrue;
          }
        }
        goto LAB_00050b1b;
      }
      var_8 = "PixelCacheAllocationFailed";
      severity = ErrorException;
      var_23 = 0xe8c;
    }
  }
LAB_00050aff:
  var_17
            (exception,"MagickCore/cache.c","OpenPixelCache",var_23,severity,var_8,"`%s\'",
             var_2->filename);
  var_16 = var_4;
LAB_00050b1b:
  if (var_69 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_70();
  }
  return var_16;
}


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

undefined4 __regparm3 MASKED(int *param_1,int param_2,undefined4 param_3)

{
  int *piVar1;
  uint uVar2;
  uint uVar3;
  ulonglong uVar4;
  double dVar5;
  double dVar6;
  undefined4 uVar7;
  int iVar8;
  uint uVar9;
  int *piVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  ssize_t sVar13;
  int *piVar14;
  int *piVar15;
  int iVar16;
  int *piVar17;
  int iVar18;
  int *piVar19;
  int iVar20;
  int in_GS_OFFSET;
  bool bVar21;
  byte bVar22;
  longlong lVar23;
  undefined8 uVar24;
  ulonglong uVar25;
  __off64_t _Var26;
  char *pcVar27;
  ulonglong local_4494;
  ulonglong local_4484;
  ulonglong local_447c;
  int local_446c;
  int local_4468;
  uint local_444c;
  int local_4448;
  int local_4434 [203];
  int local_4108;
  int local_4098;
  undefined4 local_4090;
  undefined1 local_2020 [4096];
  undefined1 local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  bVar22 = 0;
  uStack_14 = 0x5084b;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image != (const Image *) NULL","MagickCore/cache.c",0xe47,"OpenPixelCache");
  }
  if (param_1[0xcd1] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->signature == MagickCoreSignature","MagickCore/cache.c",0xe48,
                  "OpenPixelCache");
  }
  if (param_1[0xab] == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image->cache != (Cache) NULL","MagickCore/cache.c",0xe49,"OpenPixelCache");
  }
  if (param_1[0xcca] == 0) {
    bVar21 = DAT_003d9d78 < 0;
  }
  else {
    LogMagickEvent(0x8000,"MagickCore/cache.c","OpenPixelCache",0xe4b,&DAT_002b6e4e,param_1 + 0xc6);
    bVar21 = DAT_003d9d78 < 0;
  }
  if (bVar21) {
    DAT_003d9d78 = 0;
    iVar8 = GetPolicyValue("pixel-cache-memory");
    if (iVar8 == 0) {
      iVar8 = GetPolicyValue("cache:memory-map");
    }
    iVar16 = LocaleCompare(iVar8,"anonymous");
    if (iVar16 == 0) {
      DAT_003d9d78 = 1;
    }
    DestroyString(iVar8);
  }
  if ((param_1[6] == 0) || (param_1[7] == 0)) {
    pcVar27 = "NoPixelsDefinedInCache";
    uVar11 = 0x1bd;
    uVar7 = 0xe65;
  }
  else {
    piVar15 = (int *)param_1[0xab];
    if (piVar15[0x8fe] != -0x54535255) {
                    /* WARNING: Subroutine does not return */
      __assert_fail("cache_info->signature == MagickCoreSignature","MagickCore/cache.c",0xe67,
                    "OpenPixelCache");
    }
    piVar1 = param_1 + 0xc6;
    if (((piVar15[0x902] == 0) && ((uint)piVar15[0x901] < (uint)param_1[6])) ||
       ((piVar15[0x904] == 0 && ((uint)piVar15[0x903] < (uint)param_1[7])))) {
      pcVar27 = "WidthOrHeightExceedsLimit";
      uVar11 = 0x1d1;
      uVar7 = 0xe6b;
    }
    else {
      lVar23 = GetMagickResourceLimit(0xb);
      if (lVar23 != 0x7fffffffffffffff) {
        uVar7 = GetImageListLength(param_1);
        iVar8 = AcquireMagickResource(0xb,uVar7,0);
        if (iVar8 == 0) {
          ThrowMagickException
                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xe71,400,
                     "ListLengthExceedsLimit","`%s\'",piVar1);
          uVar7 = 0;
          goto LAB_00050b1b;
        }
      }
      piVar14 = local_4434;
      piVar10 = piVar15 + 0xea;
      memcpy(piVar14,piVar15,0x2414);
      local_4090 = 0xffffffff;
      FormatLocaleString(piVar10,0x1000,"%s[%.20g]",piVar1,(double)(uint)param_1[0x91]);
      *piVar15 = *param_1;
      piVar15[1] = param_1[1];
      piVar15[2] = param_1[0xa5];
      piVar15[3] = param_1[0xce8];
      piVar15[5] = param_1[7];
      piVar15[4] = param_1[6];
      InitializePixelChannelMap(param_1);
      iVar8 = param_1[0xa6];
      piVar17 = (int *)param_1[0xaa];
      piVar15[7] = iVar8;
      piVar19 = piVar15 + 8;
      for (iVar16 = 0xc0; iVar16 != 0; iVar16 = iVar16 + -1) {
        *piVar19 = *piVar17;
        piVar17 = piVar17 + (uint)bVar22 * -2 + 1;
        piVar19 = piVar19 + (uint)bVar22 * -2 + 1;
      }
      iVar16 = param_1[0xa8];
      uVar2 = piVar15[5];
      piVar15[0xc9] = param_2;
      uVar3 = piVar15[4];
      piVar15[6] = iVar16;
      uVar4 = (ulonglong)uVar3 * (ulonglong)uVar2;
      uVar9 = iVar16 + iVar8 * 8;
      local_4468 = (int)(uVar4 >> 0x20);
      local_446c = (int)uVar4;
      lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);
      iVar16 = (int)lVar23;
      iVar8 = (int)((ulonglong)lVar23 >> 0x20) + local_4468 * uVar9;
      uVar24 = FUN_0029e870(iVar16,iVar8,uVar2,0);
      uVar9 = FUN_0029e870(uVar24,uVar9,0);
      if (((uVar3 == uVar9) && (-1 < (int)uVar3)) && (-1 < (int)uVar2)) {
        iVar18 = param_1[0xa2];
        piVar15[0xce] = iVar16;
        piVar15[0xcf] = iVar8;
        if (iVar18 != 0) {
          uVar7 = 1;
          *piVar15 = *param_1;
          iVar8 = param_1[1];
          piVar15[200] = 5;
          piVar15[1] = iVar8;
          goto LAB_00050b1b;
        }
        iVar8 = AcquireMagickResource(1,uVar4);
        if (piVar15[0xc9] == 3) {
LAB_00051068:
          iVar16 = piVar15[0xcf];
          iVar18 = piVar15[0xce];
LAB_00050cf5:
          iVar8 = AcquireMagickResource(2,iVar18,iVar16);
          iVar16 = GetImageRegistry(3,"cache:hosts",param_3);
          uVar7 = 0;
          if ((iVar8 == 0) && (iVar16 != 0)) {
            iVar8 = FUN_0008aed0(param_3);
            if (iVar8 != 0) {
              iVar16 = FUN_0008b670(iVar8,param_1);
              if (iVar16 != 0) {
                piVar15[0x8f6] = iVar8;
                piVar15[200] = 2;
                uVar7 = FUN_0008b600(iVar8);
                uVar11 = FUN_0008b590(piVar15[0x8f6]);
                FormatLocaleString(piVar15 + 0x4ea,0x1000,"%s:%d",uVar11,uVar7);
                if ((local_4434[0] == 0) || (param_2 == 0)) {
                  iVar8 = 1;
                }
                else {
                  iVar8 = FUN_0004ffc0();
                  FUN_0004cba0();
                }
                if (param_1[0xcca] != 0) {
                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,
                                   iVar8,iVar8);
                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);
                  local_4494 = (ulonglong)(uint)piVar15[7];
                  local_4484 = (ulonglong)(uint)piVar15[5];
                  local_447c = (ulonglong)(uint)piVar15[4];
                  uVar11 = FUN_0008b520(piVar15[0x8f6]);
                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     piVar10,piVar15 + 0x4ea,uVar11,uVar7,(double)local_447c,
                                     (double)local_4484,(double)local_4494,local_2020);
                  LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xf15,&DAT_002b6e4e,
                                 local_1020);
                }
                goto LAB_00051052;
              }
              piVar10 = __errno_location();
              uVar11 = GetExceptionMessage(*piVar10);
              uVar12 = FUN_0008b590(iVar8);
              ThrowMagickException
                        (param_3,"MagickCore/cache.c","OpenPixelCache",0xef1,0x1bd,
                         "UnableToOpenPixelCache","\'%s\': %s",uVar12,uVar11);
              DestroyString(uVar11);
              FUN_0008ae40(iVar8);
            }
            piVar15[200] = 0;
            ThrowMagickException
                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf21,0x1bd,
                       "CacheResourcesExhausted","`%s\'",piVar1);
            goto LAB_00050b1b;
          }
          if (iVar8 == 0) {
            piVar15[200] = 0;
            pcVar27 = "CacheResourcesExhausted";
            uVar11 = 0x1bd;
            uVar7 = 0xf2b;
            goto LAB_00050aff;
          }
          bVar21 = param_2 != 0;
          if (((local_4434[0] != 0) && (bVar21)) && (piVar15[0xc9] != 3)) {
            FUN_0004cb50();
            *(undefined1 *)(piVar15 + 0x4ea) = 0;
          }
          iVar8 = FUN_0004cd50();
          if (iVar8 == 0) {
            piVar15[200] = 0;
            piVar15 = __errno_location();
            uVar7 = GetExceptionMessage(*piVar15);
            ThrowMagickException
                      (param_3,"MagickCore/cache.c","OpenPixelCache",0xf39,0x1bd,
                       "UnableToOpenPixelCache","\'%s\': %s",piVar1,uVar7);
            DestroyString(uVar7);
            uVar7 = 0;
            goto LAB_00050b1b;
          }
          iVar18 = piVar15[0xce] + piVar15[0xcc];
          iVar20 = piVar15[0xcf] + piVar15[0xcd] + (uint)CARRY4(piVar15[0xce],piVar15[0xcc]);
          iVar8 = param_1[0xab];
          iVar16 = param_1[0xcca];
          if (iVar16 != 0) {
            FormatMagickSize(iVar18,iVar20,0,&DAT_0030c34a,0x1000,local_2020,iVar16,iVar16);
            FormatLocaleString(local_1020,0x1000,"extend %s (%s[%d], disk, %s)",iVar8 + 0x3a8,
                               iVar8 + 0x13a8,*(undefined4 *)(iVar8 + 0x3a4),local_2020);
            LogMagickEvent(8,"MagickCore/cache.c","SetPixelCacheExtent",0xe11,&DAT_002b6e4e,
                           local_1020);
          }
          uVar25 = lseek64(*(int *)(iVar8 + 0x3a4),0,2);
          if (-1 < (longlong)uVar25) {
            if (uVar25 < CONCAT44(iVar20,iVar18)) {
              uVar9 = iVar18 - 1;
              iVar16 = iVar20 + -1 + (uint)(iVar18 != 0);
              do {
                sVar13 = pwrite64(*(int *)(iVar8 + 0x3a4),&DAT_0030570a,1,CONCAT44(iVar16,uVar9));
                if (0 < sVar13) {
                  if (sVar13 == 1) {
                    if (*(int *)(iVar8 + 0x23dc) == 0) goto LAB_00050fd6;
                    local_444c = (uint)uVar25;
                    local_4448 = (int)(uVar25 >> 0x20);
                    iVar16 = posix_fallocate64(*(int *)(iVar8 + 0x3a4),
                                               CONCAT44(local_4448 + (uint)(0xfffffffe < local_444c)
                                                        ,local_444c + 1),
                                               CONCAT44((iVar16 - local_4448) -
                                                        (uint)(uVar9 < local_444c),
                                                        uVar9 - local_444c));
                    if (iVar16 == 0) goto LAB_00050fd6;
                  }
                  break;
                }
                piVar14 = __errno_location();
              } while (*piVar14 == 4);
            }
            else {
LAB_00050fd6:
              _Var26 = lseek64(*(int *)(iVar8 + 0x3a4),0,0);
              if (-1 < _Var26) {
                piVar15[200] = 1;
                uVar9 = piVar15[6] + piVar15[7] * 8;
                lVar23 = (ulonglong)uVar9 * (uVar4 & 0xffffffff);
                iVar16 = (int)lVar23;
                if ((local_4468 * uVar9 + (int)((ulonglong)lVar23 >> 0x20) == 0) &&
                   (iVar16 = AcquireMagickResource(5,piVar15[0xce],piVar15[0xcf],local_4468),
                   iVar16 != 0)) {
                  iVar8 = MapBlob(piVar15[0xe9],param_2,piVar15[0xcc],piVar15[0xcd],piVar15[0xce]);
                  piVar15[0xe7] = iVar8;
                  if (iVar8 == 0) {
                    piVar15[0xcb] = local_4108;
                    piVar15[0xe7] = local_4098;
                    iVar16 = RelinquishMagickResource(5,piVar15[0xce],piVar15[0xcf],piVar15);
                    goto LAB_0005102c;
                  }
                  FUN_0004cb50();
                  piVar15[200] = 3;
                  piVar15[0xcb] = 1;
                  piVar15[0xe8] = 0;
                  if (piVar15[6] != 0) {
                    piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];
                  }
                  if ((local_4434[0] != 0) && (bVar21)) {
                    iVar16 = FUN_0004ffc0();
                    FUN_0004cba0();
                  }
                  iVar8 = iVar16;
                  if (param_1[0xcca] == 0) goto LAB_00051052;
                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,
                                   param_1,param_1);
                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);
                  local_4494 = (ulonglong)(uint)piVar15[7];
                  dVar5 = (double)local_4494;
                  local_4494 = (ulonglong)(uint)piVar15[5];
                  dVar6 = (double)local_4494;
                  local_4494 = (ulonglong)(uint)piVar15[4];
                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,
                                     dVar6,dVar5,local_2020);
                  uVar7 = 0xf74;
                }
                else {
LAB_0005102c:
                  if ((local_4434[0] == 0) || (!bVar21)) {
                    iVar8 = 1;
                  }
                  else {
                    iVar8 = FUN_0004ffc0();
                    iVar16 = FUN_0004cba0();
                  }
                  if (param_1[0xcca] == 0) goto LAB_00051052;
                  FormatMagickSize(piVar15[0xce],piVar15[0xcf],0,&DAT_0030c34a,0x1000,local_2020,
                                   iVar16,iVar16);
                  uVar7 = CommandOptionToMnemonic(3,piVar15[200]);
                  local_4494 = (ulonglong)(uint)piVar15[7];
                  dVar5 = (double)local_4494;
                  local_4494 = (ulonglong)(uint)piVar15[5];
                  dVar6 = (double)local_4494;
                  local_4494 = (ulonglong)(uint)piVar15[4];
                  FormatLocaleString(local_1020,0x1000,"open %s (%s[%d], %s, %.20gx%.20gx%.20g %s)",
                                     piVar10,piVar15 + 0x4ea,piVar15[0xe9],uVar7,(double)local_4494,
                                     dVar6,dVar5,local_2020);
                  uVar7 = 0xf91;
                  iVar16 = iVar8;
                }
                LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",uVar7,&DAT_002b6e4e,
                               local_1020);
                iVar8 = iVar16;
                goto LAB_00051052;
              }
            }
          }
          piVar15[200] = 0;
          piVar15 = __errno_location();
          uVar11 = GetExceptionMessage(*piVar15);
          ThrowMagickException
                    (param_3,"MagickCore/cache.c","OpenPixelCache",0xf42,0x1bd,"UnableToExtendCache"
                     ,"\'%s\': %s",piVar1,uVar11);
          DestroyString(uVar11);
        }
        else {
          uVar9 = piVar15[6] + piVar15[7] * 8;
          iVar16 = piVar15[0xcf];
          iVar18 = piVar15[0xce];
          if (((iVar8 == 0) ||
              (local_4468 * uVar9 + (int)((ulonglong)uVar9 * (uVar4 & 0xffffffff) >> 0x20) != 0)) ||
             ((piVar15[200] & 0xfffffffbU) != 0)) goto LAB_00050cf5;
          iVar16 = AcquireMagickResource(6,iVar18,iVar16,0);
          if (iVar16 == 0) goto LAB_00051068;
          if (DAT_003d9d78 < 1) {
            piVar15[0xcb] = 0;
            iVar8 = AcquireAlignedMemory(1,piVar15[0xce],iVar8,iVar8);
            piVar15[0xe7] = iVar8;
          }
          else {
            piVar15[0xcb] = 1;
            iVar8 = MapBlob(0xffffffff,2,0,0,piVar15[0xce]);
            piVar15[0xe7] = iVar8;
          }
          if (piVar15[0xe7] == 0) {
            iVar16 = piVar15[0xcf];
            piVar15[0xcb] = local_4108;
            piVar15[0xe7] = local_4098;
            iVar18 = piVar15[0xce];
            goto LAB_00050cf5;
          }
          piVar15[200] = 4;
          piVar15[0xe8] = 0;
          if (piVar15[6] != 0) {
            piVar15[0xe8] = piVar15[7] * 8 * local_446c + piVar15[0xe7];
          }
          if ((local_4434[0] == 0) || (param_2 == 0)) {
            iVar8 = 1;
            piVar14 = piVar15;
          }
          else {
            iVar8 = FUN_0004ffc0();
            FUN_0004cba0();
          }
          if (param_1[0xcca] != 0) {
            FormatMagickSize(piVar15[0xce],piVar15[0xcf],1,&DAT_0030c34a,0x1000,local_2020,piVar14,
                             piVar14);
            uVar7 = CommandOptionToMnemonic(3,piVar15[200]);
            local_4484 = (ulonglong)(uint)piVar15[7];
            dVar5 = (double)local_4484;
            local_4484 = (ulonglong)(uint)piVar15[5];
            dVar6 = (double)local_4484;
            pcVar27 = "Heap";
            local_4484 = (ulonglong)(uint)piVar15[4];
            if (piVar15[0xcb] != 0) {
              pcVar27 = "Anonymous";
            }
            FormatLocaleString(local_1020,0x1000,"open %s (%s %s, %.20gx%.20gx%.20g %s)",piVar10,
                               pcVar27,uVar7,(double)local_4484,dVar6,dVar5,local_2020);
            LogMagickEvent(8,"MagickCore/cache.c","OpenPixelCache",0xed2,&DAT_002b6e4e,local_1020);
          }
          *piVar15 = *param_1;
LAB_00051052:
          if (iVar8 == 0) {
            piVar15[200] = 0;
            uVar7 = 0;
          }
          else {
            uVar7 = 1;
          }
        }
        goto LAB_00050b1b;
      }
      pcVar27 = "PixelCacheAllocationFailed";
      uVar11 = 400;
      uVar7 = 0xe8c;
    }
  }
LAB_00050aff:
  ThrowMagickException
            (param_3,"MagickCore/cache.c","OpenPixelCache",uVar7,uVar11,pcVar27,"`%s\'",
             param_1 + 0xc6);
  uVar7 = 0;
LAB_00050b1b:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_0029eab0();
  }
  return uVar7;
}

