
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */
/* WARNING: Enum "ComplianceType": Some values do not have unique names */

Image * ReadMPCImage(ImageInfo *image_info,ExceptionInfo *exception)

{
  ushort uVar1;
  int iVar2;
  size_t sVar3;
  float fVar4;
  float fVar5;
  undefined *relinquish_value;
  Image *pIVar6;
  int iVar7;
  ushort **ppuVar8;
  ushort *puVar9;
  MagickStatusType MVar10;
  uint uVar11;
  size_t sVar12;
  MagickBooleanType MVar13;
  Image *pIVar14;
  ResolutionType RVar15;
  ImageType IVar16;
  ulong uVar17;
  OrientationType OVar18;
  DisposeType DVar19;
  PixelTrait PVar20;
  char *value;
  size_t sVar21;
  StringInfo *string_info;
  uchar *data;
  uint uVar22;
  PixelInfo *pPVar23;
  uint *data_00;
  ssize_t sVar24;
  long lVar25;
  ClassType CVar26;
  EndianType EVar27;
  PixelIntensityMethod PVar28;
  RenderingIntent RVar29;
  CompressionType CVar30;
  ColorspaceType CVar31;
  MagickRealType *pMVar32;
  int *piVar33;
  char *pcVar34;
  int iVar35;
  uint *puVar36;
  uint *puVar37;
  char *pcVar38;
  int in_GS_OFFSET;
  byte bVar39;
  MagickSizeType MVar40;
  MagickOffsetType offset_00;
  double dVar41;
  ExceptionType severity;
  char *local_30ac;
  char *local_30a4;
  LinkedListInfo *local_3084;
  MagickBooleanType local_3080;
  uint local_3078;
  MagickOffsetType offset;
  GeometryInfo geometry_info;
  char cache_filename [4096];
  char id [4096];
  char keyword [4096];
  
  bVar39 = 0;
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  if (image_info == (ImageInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");
  }
  if (image_info->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")
    ;
  }
  if (image_info->debug != MagickFalse) {
    LogMagickEvent(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",image_info->filename);
  }
  if (exception == (ExceptionInfo *)0x0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");
  }
  if (exception->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");
  }
  pIVar6 = AcquireImage(image_info,exception);
  local_3080 = OpenBlob(image_info,pIVar6,ReadBinaryBlobMode,exception);
  if (local_3080 == MagickFalse) {
    DestroyImageList(pIVar6);
    pIVar6 = (Image *)0x0;
  }
  else {
    CopyMagickString(cache_filename,pIVar6->filename,0xffa);
    AppendImageFormat("cache",cache_filename);
    iVar7 = ReadBlobByte(pIVar6);
    if (iVar7 == -1) {
      DestroyImage(pIVar6);
      pIVar6 = (Image *)0x0;
    }
    else {
      id[0] = '\0';
      pcVar34 = keyword;
      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {
        pcVar34[0] = '\0';
        pcVar34[1] = '\0';
        pcVar34[2] = '\0';
        pcVar34[3] = '\0';
        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;
      }
      offset._0_4_ = 0;
      offset._4_4_ = 0;
      ppuVar8 = __ctype_b_loc();
      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;
      do {
        SetGeometryInfo(&geometry_info);
        local_30a4 = AcquireString((char *)0x0);
        local_3078 = GetMagickSignature((StringInfo *)0x0);
        pIVar6->depth = 8;
        puVar9 = *ppuVar8;
        pIVar6->compression = NoCompression;
        uVar1 = puVar9[iVar7];
        local_3084 = (LinkedListInfo *)0x0;
LAB_0025ab3f:
        if (iVar7 != 0x3a) {
LAB_0025ab48:
          pcVar34 = local_30a4;
          if (-1 < (short)uVar1) goto LAB_0025aca4;
          if (iVar7 == 0x7b) {
            pcVar34 = AcquireString((char *)0x0);
            if (pcVar34 != (char *)0x0) {
              pcVar38 = (char *)0x1000;
              value = pcVar34;
              do {
                iVar7 = ReadBlobByte(pIVar6);
                if (iVar7 == 0x5c) {
                  iVar7 = ReadBlobByte(pIVar6);
                }
                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;
                if (pcVar34 + (1 - (int)value) < pcVar38) {
                  *pcVar34 = (char)iVar7;
                  pcVar34 = pcVar34 + 1;
                }
                else {
                  pcVar38 = (char *)((int)pcVar38 * 2);
                  *pcVar34 = '\0';
                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);
                  if (value == (char *)0x0) break;
                  sVar21 = strlen(value);
                  pcVar34 = value + sVar21 + 1;
                  value[sVar21] = (char)iVar7;
                }
              } while( true );
            }
            DestroyString(local_30a4);
            pcVar34 = "MemoryAllocationFailed";
            severity = ErrorException;
            sVar12 = 0x10e;
            goto LAB_0025b781;
          }
          if ((uVar1 & 8) == 0) {
            iVar7 = ReadBlobByte(pIVar6);
          }
          else {
            pcVar38 = keyword;
            if (iVar7 == 0x3d) {
              iVar35 = 0x7a;
            }
            else {
              do {
                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {
                  *pcVar38 = (char)iVar7;
                  pcVar38 = pcVar38 + 1;
                }
                iVar7 = ReadBlobByte(pIVar6);
                if (iVar7 == -1) {
                  iVar35 = -2;
                  puVar9 = *ppuVar8;
                  goto LAB_0025abb9;
                }
              } while (iVar7 != 0x3d);
              iVar35 = 0x7a;
              puVar9 = *ppuVar8;
            }
LAB_0025abb9:
            *pcVar38 = '\0';
            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {
              do {
                iVar7 = ReadBlobByte(pIVar6);
              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);
            }
            local_30ac = local_30a4;
            if (iVar7 == 0x3d) {
              iVar7 = ReadBlobByte(pIVar6);
              local_30a4 = (char *)0xfff;
              local_30ac = pcVar34;
              do {
                if ((iVar7 == 0x7d) || (iVar7 == -1)) {
                  if (pcVar34 == (char *)0x0) {
LAB_0025b8e1:
                    pcVar34 = "MemoryAllocationFailed";
                    severity = ErrorException;
                    sVar12 = 0x14c;
                    goto LAB_0025b781;
                  }
                  break;
                }
                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {
                  local_30a4 = (char *)((int)local_30a4 * 2);
                  *local_30ac = '\0';
                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);
                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;
                  sVar21 = strlen(pcVar34);
                  local_30ac = pcVar34 + sVar21;
                }
                *local_30ac = (char)iVar7;
                iVar7 = ReadBlobByte(pIVar6);
                pcVar38 = local_30ac + 1;
                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {
                  local_30ac[1] = '}';
                  iVar7 = ReadBlobByte(pIVar6);
                  pcVar38 = local_30ac + 2;
                }
                local_30ac = pcVar38;
              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)
                      );
            }
            local_30a4 = pcVar34;
            *local_30ac = '\0';
            if (*local_30a4 == '{') {
              sVar21 = strlen(local_30a4);
              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);
            }
            switch(keyword[0]) {
            case 'A':
            case 'a':
              iVar35 = LocaleCompare(keyword,"alpha-trait");
              if (iVar35 != 0) goto _L42;
              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);
              if (-1 < (int)PVar20) {
                pIVar6->alpha_trait = PVar20;
              }
              break;
            case 'B':
            case 'b':
              iVar35 = LocaleCompare(keyword,"background-color");
              if (iVar35 == 0) {
                pPVar23 = &pIVar6->background_color;
              }
              else {
                iVar35 = LocaleCompare(keyword,"blue-primary");
                if (iVar35 == 0) {
                  MVar10 = ParseGeometry(local_30a4,&geometry_info);
                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;
                  if ((MVar10 & 8) == 0) {
                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;
                  }
                  else {
                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;
                  }
                  break;
                }
                iVar35 = LocaleCompare(keyword,"border-color");
                if (iVar35 != 0) goto _L42;
                pPVar23 = &pIVar6->border_color;
              }
LAB_0025b456:
              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);
              break;
            case 'C':
            case 'c':
              iVar35 = LocaleCompare(keyword,"class");
              if (iVar35 == 0) {
                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);
                if (-1 < (int)CVar26) {
                  pIVar6->storage_class = CVar26;
                }
              }
              else {
                iVar35 = LocaleCompare(keyword,"colors");
                if (iVar35 == 0) {
                  uVar17 = strtoul(local_30a4,(char **)0x0,10);
                  pIVar6->colors = uVar17;
                }
                else {
                  iVar35 = LocaleCompare(keyword,"colorspace");
                  if (iVar35 == 0) {
                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);
                    if (-1 < (int)CVar31) {
                      pIVar6->colorspace = CVar31;
                    }
                  }
                  else {
                    iVar35 = LocaleCompare(keyword,"compression");
                    if (iVar35 == 0) {
                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);
                      if (-1 < (int)CVar30) {
                        pIVar6->compression = CVar30;
                      }
                    }
                    else {
                      iVar35 = LocaleCompare(keyword,"columns");
                      if (iVar35 != 0) goto _L42;
                      uVar17 = strtoul(local_30a4,(char **)0x0,10);
                      pIVar6->columns = uVar17;
                    }
                  }
                }
              }
              break;
            case 'D':
            case 'd':
              iVar35 = LocaleCompare(keyword,"delay");
              if (iVar35 == 0) {
                uVar17 = strtoul(local_30a4,(char **)0x0,10);
                pIVar6->delay = uVar17;
              }
              else {
                iVar35 = LocaleCompare(keyword,"depth");
                if (iVar35 == 0) {
                  uVar17 = strtoul(local_30a4,(char **)0x0,10);
                  pIVar6->depth = uVar17;
                }
                else {
                  iVar35 = LocaleCompare(keyword,"dispose");
                  if (iVar35 != 0) goto _L42;
                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);
                  if (-1 < (int)DVar19) {
                    pIVar6->dispose = DVar19;
                  }
                }
              }
              break;
            case 'E':
            case 'e':
              iVar35 = LocaleCompare(keyword,"endian");
              if (iVar35 == 0) {
                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);
                if (-1 < (int)EVar27) {
                  pIVar6->endian = EVar27;
                }
              }
              else {
                iVar35 = LocaleCompare(keyword,"error");
                if (iVar35 != 0) goto _L42;
                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);
                (pIVar6->error).mean_error_per_pixel = dVar41;
              }
              break;
            default:
_L42:
              SetImageProperty(pIVar6,keyword,local_30a4,exception);
              break;
            case 'G':
            case 'g':
              iVar35 = LocaleCompare(keyword,"gamma");
              if (iVar35 == 0) {
                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);
                pIVar6->gamma = dVar41;
              }
              else {
                iVar35 = LocaleCompare(keyword,"green-primary");
                if (iVar35 != 0) goto _L42;
                MVar10 = ParseGeometry(local_30a4,&geometry_info);
                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;
                if ((MVar10 & 8) == 0) {
                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;
                }
                else {
                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;
                }
              }
              break;
            case 'I':
            case 'i':
              iVar35 = LocaleCompare(keyword,"id");
              if (iVar35 == 0) {
                CopyMagickString(id,local_30a4,0x1000);
              }
              else {
                iVar35 = LocaleCompare(keyword,"iterations");
                if (iVar35 != 0) goto _L42;
                uVar17 = strtoul(local_30a4,(char **)0x0,10);
                pIVar6->iterations = uVar17;
              }
              break;
            case 'M':
            case 'm':
              iVar35 = LocaleCompare(keyword,"magick-signature");
              if (iVar35 == 0) {
                local_3078 = strtoul(local_30a4,(char **)0x0,10);
              }
              else {
                iVar35 = LocaleCompare(keyword,"mattecolor");
                if (iVar35 == 0) {
                  pPVar23 = &pIVar6->matte_color;
                  goto LAB_0025b456;
                }
                iVar35 = LocaleCompare(keyword,"maximum-error");
                if (iVar35 == 0) {
                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);
                  (pIVar6->error).normalized_maximum_error = dVar41;
                }
                else {
                  iVar35 = LocaleCompare(keyword,"mean-error");
                  if (iVar35 == 0) {
                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);
                    (pIVar6->error).normalized_mean_error = dVar41;
                  }
                  else {
                    iVar35 = LocaleCompare(keyword,"montage");
                    if (iVar35 != 0) goto _L42;
                    CloneString(&pIVar6->montage,local_30a4);
                  }
                }
              }
              break;
            case 'N':
            case 'n':
              iVar35 = LocaleCompare(keyword,"number-channels");
              if (iVar35 == 0) {
                uVar17 = strtoul(local_30a4,(char **)0x0,10);
                pIVar6->number_channels = uVar17;
              }
              else {
                iVar35 = LocaleCompare(keyword,"number-meta-channels");
                if (iVar35 == 0) {
                  uVar17 = strtoul(local_30a4,(char **)0x0,10);
                  pIVar6->number_meta_channels = uVar17;
                  if (0x40 < uVar17) {
                    if (local_3084 != (LinkedListInfo *)0x0) {
                      DestroyLinkedList(local_3084,
                                        (_func_void_ptr_void_ptr *)
                                        PTR_RelinquishMagickMemory_0041dfd8);
                    }
                    DestroyString(local_30a4);
                    pcVar34 = "ImproperImageHeader";
                    severity = CorruptImageError;
                    sVar12 = 0x245;
                    goto LAB_0025b781;
                  }
                }
              }
              break;
            case 'O':
            case 'o':
              iVar35 = LocaleCompare(keyword,"orientation");
              if (iVar35 != 0) goto _L42;
              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);
              if (-1 < (int)OVar18) {
                pIVar6->orientation = OVar18;
              }
              break;
            case 'P':
            case 'p':
              iVar35 = LocaleCompare(keyword,"page");
              if (iVar35 == 0) {
                pcVar34 = GetPageGeometry(local_30a4);
                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);
                DestroyString(pcVar34);
              }
              else {
                iVar35 = LocaleCompare(keyword,"pixel-intensity");
                if (iVar35 == 0) {
                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);
                  if (-1 < (int)PVar28) {
                    pIVar6->intensity = PVar28;
                  }
                }
                else {
                  iVar35 = LocaleCompare(keyword,"profile");
                  if (iVar35 != 0) goto _L42;
                  if (local_3084 == (LinkedListInfo *)0x0) {
                    local_3084 = NewLinkedList(0);
                  }
                  pcVar34 = AcquireString(local_30a4);
                  AppendValueToLinkedList(local_3084,pcVar34);
                }
              }
              break;
            case 'Q':
            case 'q':
              iVar35 = LocaleCompare(keyword,"quality");
              if (iVar35 != 0) goto _L42;
              uVar17 = strtoul(local_30a4,(char **)0x0,10);
              pIVar6->quality = uVar17;
              break;
            case 'R':
            case 'r':
              iVar35 = LocaleCompare(keyword,"red-primary");
              if (iVar35 == 0) {
                MVar10 = ParseGeometry(local_30a4,&geometry_info);
                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;
                if ((MVar10 & 8) != 0) {
                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;
                }
              }
              else {
                iVar35 = LocaleCompare(keyword,"rendering-intent");
                if (iVar35 == 0) {
                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);
                  if (-1 < (int)RVar29) {
                    pIVar6->rendering_intent = RVar29;
                  }
                }
                else {
                  iVar35 = LocaleCompare(keyword,"resolution");
                  if (iVar35 == 0) {
                    MVar10 = ParseGeometry(local_30a4,&geometry_info);
                    (pIVar6->resolution).x = geometry_info.rho;
                    if ((MVar10 & 8) == 0) {
                      (pIVar6->resolution).y = geometry_info.rho;
                    }
                    else {
                      (pIVar6->resolution).y = geometry_info.sigma;
                    }
                  }
                  else {
                    iVar35 = LocaleCompare(keyword,"rows");
                    if (iVar35 != 0) goto _L42;
                    uVar17 = strtoul(local_30a4,(char **)0x0,10);
                    pIVar6->rows = uVar17;
                  }
                }
              }
              break;
            case 'S':
            case 's':
              iVar35 = LocaleCompare(keyword,"scene");
              if (iVar35 != 0) goto _L42;
              uVar17 = strtoul(local_30a4,(char **)0x0,10);
              pIVar6->scene = uVar17;
              break;
            case 'T':
            case 't':
              iVar35 = LocaleCompare(keyword,"ticks-per-second");
              if (iVar35 == 0) {
                lVar25 = strtol(local_30a4,(char **)0x0,10);
                pIVar6->ticks_per_second = lVar25;
              }
              else {
                iVar35 = LocaleCompare(keyword,"tile-offset");
                if (iVar35 == 0) {
                  pcVar34 = GetPageGeometry(local_30a4);
                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);
                  DestroyString(pcVar34);
                }
                iVar35 = LocaleCompare(keyword,"type");
                if (iVar35 != 0) goto _L42;
                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);
                if (-1 < (int)IVar16) {
                  pIVar6->type = IVar16;
                }
              }
              break;
            case 'U':
            case 'u':
              iVar35 = LocaleCompare(keyword,"units");
              if (iVar35 != 0) goto _L42;
              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);
              if (-1 < (int)RVar15) {
                pIVar6->units = RVar15;
              }
              break;
            case 'W':
            case 'w':
              iVar35 = LocaleCompare(keyword,"white-point");
              if (iVar35 != 0) goto _L42;
              MVar10 = ParseGeometry(local_30a4,&geometry_info);
              (pIVar6->chromaticity).white_point.x = geometry_info.rho;
              if ((MVar10 & 8) == 0) {
                (pIVar6->chromaticity).white_point.y = geometry_info.rho;
              }
              else {
                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;
              }
            }
          }
          goto LAB_0025ac68;
        }
LAB_0025aca4:
        DestroyString(local_30a4);
        ReadBlobByte(pIVar6);
        iVar7 = LocaleCompare(id,"MagickPixelCache");
        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||
             (pIVar6->compression == UndefinedCompression)) ||
            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||
             ((0x40 < pIVar6->number_channels ||
              ((0x38 < pIVar6->number_meta_channels ||
               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||
           (0x3f < pIVar6->depth - 1)) {
          if (local_3084 != (LinkedListInfo *)0x0) {
            DestroyLinkedList(local_3084,
                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);
          }
          pcVar34 = "ImproperImageHeader";
          severity = CorruptImageError;
          sVar12 = 0x31d;
LAB_0025b781:
          ThrowMagickException
                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",
                     image_info->filename);
          CloseBlob(pIVar6);
          DestroyImageList(pIVar6);
          pIVar6 = (Image *)0x0;
          goto LAB_0025b79c;
        }
        uVar11 = GetMagickSignature((StringInfo *)0x0);
        if (local_3078 != uVar11) {
          if (local_3084 != (LinkedListInfo *)0x0) {
            DestroyLinkedList(local_3084,
                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);
          }
          pcVar34 = "IncompatibleAPI";
          severity = CacheError;
          sVar12 = 0x323;
          goto LAB_0025b781;
        }
        if (pIVar6->montage != (char *)0x0) {
          iVar7 = 0;
          pcVar34 = AcquireString((char *)0x0);
          pIVar6->directory = pcVar34;
          local_30ac = (char *)0x1000;
          do {
            *pcVar34 = '\0';
            pcVar38 = pcVar34;
            if (local_30ac <= iVar7 + 0x1000U) {
              local_30ac = (char *)((int)local_30ac * 2);
              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);
              pIVar6->directory = pcVar34;
              if (pcVar34 == (char *)0x0) {
                if (local_3084 != (LinkedListInfo *)0x0) {
                  DestroyLinkedList(local_3084,
                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);
                }
                pcVar34 = "UnableToReadImageData";
                severity = CorruptImageError;
                sVar12 = 0x341;
                goto LAB_0025b781;
              }
              pcVar38 = pcVar34 + iVar7;
            }
            iVar35 = ReadBlobByte(pIVar6);
            if (iVar35 == -1) break;
            pcVar34 = pcVar38 + 1;
            *pcVar38 = (char)iVar35;
            iVar7 = iVar7 + 1;
          } while (iVar35 != 0);
        }
        if (local_3084 != (LinkedListInfo *)0x0) {
          ResetLinkedListIterator(local_3084);
          local_30ac = (char *)GetNextValueInLinkedList(local_3084);
          if (local_30ac != (char *)0x0) {
            while( true ) {
              uVar11 = ReadBlobMSBLong(pIVar6);
              MVar40 = GetBlobSize(pIVar6);
              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||
                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))
              goto LAB_0025ba84;
              data = GetStringInfoDatum(string_info);
              uVar22 = ReadBlob(pIVar6,uVar11,data);
              if (uVar11 != uVar22) break;
              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);
              DestroyStringInfo(string_info);
              if ((local_3080 == MagickFalse) ||
                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),
                 local_30ac == (char *)0x0)) goto LAB_0025ba84;
            }
            DestroyStringInfo(string_info);
          }
LAB_0025ba84:
          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);
        }
        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);
        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;
        uVar11 = sVar12 * 3 >> 3;
        sVar3 = pIVar6->colors;
        MVar40 = GetBlobSize(pIVar6);
        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {
          pcVar34 = "InsufficientImageDataInFile";
          severity = CorruptImageError;
          sVar12 = 0x37d;
          goto LAB_0025b781;
        }
        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);
        pIVar6->colormap = pPVar23;
        if (pPVar23 == (PixelInfo *)0x0) {
          pcVar34 = "MemoryAllocationFailed";
          severity = ErrorException;
          sVar12 = 0x381;
          goto LAB_0025b781;
        }
        if (pIVar6->colors != 0) {
          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);
          if (data_00 == (uint *)0x0) {
            pcVar34 = "MemoryAllocationFailed";
            severity = ErrorException;
            sVar12 = 0x38a;
          }
          else {
            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);
            fVar5 = DAT_002e814c;
            fVar4 = DAT_002e8148;
            sVar3 = pIVar6->colors;
            if (uVar11 * sVar3 - sVar24 == 0) {
              if (sVar12 == 0x10) {
                if (0 < (int)sVar3) {
                  pMVar32 = &pIVar6->colormap->red;
                  puVar36 = data_00;
                  do {
                    puVar37 = (uint *)((int)puVar36 + 6);
                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);
                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |
                                                 *(ushort *)((int)puVar36 + 2) >> 8);
                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)
                    ;
                    pMVar32 = pMVar32 + 10;
                    puVar36 = puVar37;
                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);
                }
              }
              else if (sVar12 == 0x20) {
                if (0 < (int)sVar3) {
                  pMVar32 = &pIVar6->colormap->red;
                  puVar36 = data_00;
                  do {
                    uVar11 = *puVar36;
                    puVar37 = puVar36 + 3;
                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |
                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);
                    uVar11 = puVar36[1];
                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |
                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);
                    uVar11 = puVar36[2];
                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |
                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);
                    pMVar32 = pMVar32 + 10;
                    puVar36 = puVar37;
                  } while (puVar37 != data_00 + sVar3 * 3);
                }
              }
              else {
                if (sVar12 != 8) {
                  RelinquishMagickMemory(data_00);
                  pcVar34 = "ImageDepthNotSupported";
                  severity = CorruptImageError;
                  sVar12 = 0x398;
                  goto LAB_0025b781;
                }
                if (0 < (int)sVar3) {
                  pMVar32 = &pIVar6->colormap->red;
                  puVar36 = data_00;
                  do {
                    puVar37 = (uint *)((int)puVar36 + 3);
                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);
                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);
                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);
                    pMVar32 = pMVar32 + 10;
                    puVar36 = puVar37;
                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);
                }
              }
              RelinquishMagickMemory(data_00);
              goto LAB_0025ad8a;
            }
            RelinquishMagickMemory(data_00);
            pcVar34 = "InsufficientImageDataInFile";
            severity = CorruptImageError;
            sVar12 = 0x390;
          }
          goto LAB_0025b781;
        }
LAB_0025ad8a:
        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&
           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {
          CloseBlob(pIVar6);
          if (local_3080 != MagickFalse) goto LAB_0025b914;
          goto LAB_0025aeb9;
        }
        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);
        if ((MVar13 == MagickFalse) ||
           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),
           MVar13 == MagickFalse)) {
          pcVar34 = "WidthOrHeightExceedsLimit";
          severity = ImageError;
          sVar12 = 0x3db;
          goto LAB_0025b781;
        }
        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);
        if (MVar13 == MagickFalse) {
          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);
          pcVar34 = "UnableToPersistPixelCache";
          severity = CacheError;
          sVar12 = 0x3e3;
          goto LAB_0025b781;
        }
        iVar7 = EOFBlob(pIVar6);
        if (iVar7 != 0) {
          piVar33 = __errno_location();
          pcVar34 = GetExceptionMessage(*piVar33);
          ThrowMagickException
                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,
                     "UnexpectedEndOfFile","\'%s\': %s");
          DestroyString(pcVar34);
          CloseBlob(pIVar6);
LAB_0025b914:
          pIVar6 = GetFirstImageInList(pIVar6);
          goto LAB_0025b79c;
        }
        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {
          if (iVar7 == -1) goto LAB_0025b908;
        }
        if (iVar7 == -1) {
LAB_0025b908:
          CloseBlob(pIVar6);
          goto LAB_0025b914;
        }
        AcquireNextImage(image_info,pIVar6,exception);
        pIVar14 = GetNextImageInList(pIVar6);
        if (pIVar14 == (Image *)0x0) break;
        pIVar6 = SyncNextImageInList(pIVar6);
        MVar40 = GetBlobSize(pIVar6);
        offset_00 = TellBlob(pIVar6);
        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);
      } while (local_3080 != MagickFalse);
      CloseBlob(pIVar6);
LAB_0025aeb9:
      pIVar6 = DestroyImageList(pIVar6);
    }
  }
LAB_0025b79c:
  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {
    return pIVar6;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
LAB_0025b6e0:
  *pcVar34 = '\0';
  SetImageProperty(pIVar6,"comment",value,exception);
  DestroyString(value);
  iVar7 = ReadBlobByte(pIVar6);
LAB_0025ac68:
  puVar9 = *ppuVar8;
  uVar1 = puVar9[iVar7];
  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;
  do {
    iVar7 = ReadBlobByte(pIVar6);
    puVar9 = *ppuVar8;
    uVar1 = puVar9[iVar7];
  } while ((uVar1 & 0x2000) != 0);
  if (iVar7 == 0x3a) goto LAB_0025aca4;
  goto LAB_0025ab48;
}



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

undefined4 FUN_0025a9a0(int param_1,int param_2)

{
  ushort uVar1;
  float fVar2;
  float fVar3;
  undefined *puVar4;
  int *piVar5;
  int iVar6;
  ushort **ppuVar7;
  ushort *puVar8;
  ulong uVar9;
  char *pcVar10;
  size_t sVar11;
  undefined1 *puVar12;
  uint uVar13;
  uint *puVar14;
  int iVar15;
  long lVar16;
  double *pdVar17;
  int *piVar18;
  undefined4 uVar19;
  int iVar20;
  uint *puVar21;
  uint uVar22;
  uint *puVar23;
  undefined4 *puVar24;
  undefined1 *puVar25;
  int in_GS_OFFSET;
  byte bVar26;
  longdouble lVar27;
  undefined8 uVar28;
  undefined8 uVar29;
  undefined4 uVar30;
  char *pcVar31;
  char *local_30ac;
  char *local_30a4;
  int local_3084;
  int local_3080;
  ulong local_3078;
  undefined4 local_3054;
  undefined4 local_3050;
  undefined8 local_304c;
  undefined8 uStack_3044;
  undefined1 local_3020 [4096];
  undefined1 local_2020 [4096];
  undefined1 local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  bVar26 = 0;
  uStack_14 = 0x25a9a9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")
    ;
  }
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");
  }
  if (*(int *)(param_2 + 0x1c) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");
  }
  piVar5 = (int *)AcquireImage(param_1,param_2);
  local_3080 = OpenBlob(param_1,piVar5,2,param_2);
  if (local_3080 == 0) {
    DestroyImageList(piVar5);
    uVar19 = 0;
  }
  else {
    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);
    AppendImageFormat("cache",local_3020);
    iVar6 = ReadBlobByte(piVar5);
    if (iVar6 == -1) {
      DestroyImage(piVar5);
      uVar19 = 0;
    }
    else {
      local_2020[0] = 0;
      puVar24 = (undefined4 *)local_1020;
      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {
        *puVar24 = 0;
        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;
      }
      local_3054 = 0;
      local_3050 = 0;
      ppuVar7 = __ctype_b_loc();
      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;
      do {
        SetGeometryInfo(&local_304c);
        local_30a4 = (char *)AcquireString(0);
        local_3078 = GetMagickSignature(0);
        piVar5[8] = 8;
        puVar8 = *ppuVar7;
        piVar5[2] = 0x10;
        uVar1 = puVar8[iVar6];
        local_3084 = 0;
LAB_0025ab3f:
        if (iVar6 != 0x3a) {
LAB_0025ab48:
          pcVar31 = local_30a4;
          if (-1 < (short)uVar1) goto LAB_0025aca4;
          if (iVar6 == 0x7b) {
            pcVar31 = (char *)AcquireString(0);
            if (pcVar31 != (char *)0x0) {
              local_30ac = (char *)0x1000;
              pcVar10 = pcVar31;
              do {
                iVar6 = ReadBlobByte(piVar5);
                if (iVar6 == 0x5c) {
                  iVar6 = ReadBlobByte(piVar5);
                }
                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;
                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {
                  *pcVar31 = (char)iVar6;
                  pcVar31 = pcVar31 + 1;
                }
                else {
                  local_30ac = (char *)((int)local_30ac * 2);
                  *pcVar31 = '\0';
                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);
                  if (pcVar10 == (char *)0x0) break;
                  sVar11 = strlen(pcVar10);
                  pcVar31 = pcVar10 + sVar11 + 1;
                  pcVar10[sVar11] = (char)iVar6;
                }
              } while( true );
            }
            DestroyString(local_30a4);
            pcVar31 = "MemoryAllocationFailed";
            uVar30 = 400;
            uVar19 = 0x10e;
            goto LAB_0025b781;
          }
          if ((uVar1 & 8) == 0) {
            iVar6 = ReadBlobByte(piVar5);
          }
          else {
            puVar24 = (undefined4 *)local_1020;
            if (iVar6 == 0x3d) {
              iVar20 = 0x7a;
            }
            else {
              do {
                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {
                  *(char *)puVar24 = (char)iVar6;
                  puVar24 = (undefined4 *)((int)puVar24 + 1);
                }
                iVar6 = ReadBlobByte(piVar5);
                if (iVar6 == -1) {
                  iVar20 = -2;
                  puVar8 = *ppuVar7;
                  goto LAB_0025abb9;
                }
              } while (iVar6 != 0x3d);
              iVar20 = 0x7a;
              puVar8 = *ppuVar7;
            }
LAB_0025abb9:
            *(undefined1 *)puVar24 = 0;
            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {
              do {
                iVar6 = ReadBlobByte(piVar5);
              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);
            }
            local_30ac = local_30a4;
            if (iVar6 == 0x3d) {
              iVar6 = ReadBlobByte(piVar5);
              local_30a4 = (char *)0xfff;
              local_30ac = pcVar31;
              do {
                if ((iVar6 == 0x7d) || (iVar6 == -1)) {
                  if (pcVar31 == (char *)0x0) {
LAB_0025b8e1:
                    pcVar31 = "MemoryAllocationFailed";
                    uVar30 = 400;
                    uVar19 = 0x14c;
                    goto LAB_0025b781;
                  }
                  break;
                }
                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {
                  local_30a4 = (char *)((int)local_30a4 * 2);
                  *local_30ac = '\0';
                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);
                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;
                  sVar11 = strlen(pcVar31);
                  local_30ac = pcVar31 + sVar11;
                }
                *local_30ac = (char)iVar6;
                iVar6 = ReadBlobByte(piVar5);
                pcVar10 = local_30ac + 1;
                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {
                  local_30ac[1] = '}';
                  iVar6 = ReadBlobByte(piVar5);
                  pcVar10 = local_30ac + 2;
                }
                local_30ac = pcVar10;
              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)
                      );
            }
            local_30a4 = pcVar31;
            *local_30ac = '\0';
            if (*local_30a4 == '{') {
              sVar11 = strlen(local_30a4);
              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);
            }
            switch(local_1020[0]) {
            case 0x41:
            case 0x61:
              iVar20 = LocaleCompare(local_1020,"alpha-trait");
              if (iVar20 != 0) goto LAB_0025b5d0;
              iVar20 = ParseCommandOption(0x3a,0,local_30a4);
              if (-1 < iVar20) {
                piVar5[0xa5] = iVar20;
              }
              break;
            case 0x42:
            case 0x62:
              iVar20 = LocaleCompare(local_1020,"background-color");
              if (iVar20 == 0) {
                piVar18 = piVar5 + 0x1f;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"blue-primary");
                if (iVar20 == 0) {
                  uVar22 = ParseGeometry(local_30a4,&local_304c);
                  *(undefined8 *)(piVar5 + 0x69) = local_304c;
                  if ((uVar22 & 8) == 0) {
                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;
                  }
                  else {
                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;
                  }
                  break;
                }
                iVar20 = LocaleCompare(local_1020,"border-color");
                if (iVar20 != 0) goto LAB_0025b5d0;
                piVar18 = piVar5 + 0x33;
              }
code_r0x0025b456:
              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);
              break;
            case 0x43:
            case 99:
              iVar20 = LocaleCompare(local_1020,"class");
              if (iVar20 == 0) {
                iVar20 = ParseCommandOption(5,0,local_30a4);
                if (-1 < iVar20) {
                  *piVar5 = iVar20;
                }
              }
              else {
                iVar20 = LocaleCompare(local_1020,"colors");
                if (iVar20 == 0) {
                  uVar9 = strtoul(local_30a4,(char **)0x0,10);
                  piVar5[9] = uVar9;
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"colorspace");
                  if (iVar20 == 0) {
                    iVar20 = ParseCommandOption(9,0,local_30a4);
                    if (-1 < iVar20) {
                      piVar5[1] = iVar20;
                    }
                  }
                  else {
                    iVar20 = LocaleCompare(local_1020,"compression");
                    if (iVar20 == 0) {
                      iVar20 = ParseCommandOption(0xe,0,local_30a4);
                      if (-1 < iVar20) {
                        piVar5[2] = iVar20;
                      }
                    }
                    else {
                      iVar20 = LocaleCompare(local_1020,"columns");
                      if (iVar20 != 0) goto LAB_0025b5d0;
                      uVar9 = strtoul(local_30a4,(char **)0x0,10);
                      piVar5[6] = uVar9;
                    }
                  }
                }
              }
              break;
            case 0x44:
            case 100:
              iVar20 = LocaleCompare(local_1020,"delay");
              if (iVar20 == 0) {
                uVar9 = strtoul(local_30a4,(char **)0x0,10);
                piVar5[0x92] = uVar9;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"depth");
                if (iVar20 == 0) {
                  uVar9 = strtoul(local_30a4,(char **)0x0,10);
                  piVar5[8] = uVar9;
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"dispose");
                  if (iVar20 != 0) goto LAB_0025b5d0;
                  iVar20 = ParseCommandOption(0x15,0,local_30a4);
                  if (-1 < iVar20) {
                    piVar5[0x90] = iVar20;
                  }
                }
              }
              break;
            case 0x45:
            case 0x65:
              iVar20 = LocaleCompare(local_1020,"endian");
              if (iVar20 == 0) {
                iVar20 = ParseCommandOption(0x18,0,local_30a4);
                if (-1 < iVar20) {
                  piVar5[0x8d] = iVar20;
                }
              }
              else {
                iVar20 = LocaleCompare(local_1020,"error");
                if (iVar20 != 0) goto LAB_0025b5d0;
                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);
                *(double *)(piVar5 + 0xac) = (double)lVar27;
              }
              break;
            default:
LAB_0025b5d0:
              SetImageProperty(piVar5,local_1020,local_30a4,param_2);
              break;
            case 0x47:
            case 0x67:
              iVar20 = LocaleCompare(local_1020,"gamma");
              if (iVar20 == 0) {
                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);
                *(double *)(piVar5 + 0x5b) = (double)lVar27;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"green-primary");
                if (iVar20 != 0) goto LAB_0025b5d0;
                uVar22 = ParseGeometry(local_30a4,&local_304c);
                *(undefined8 *)(piVar5 + 99) = local_304c;
                if ((uVar22 & 8) == 0) {
                  *(undefined8 *)(piVar5 + 0x65) = local_304c;
                }
                else {
                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;
                }
              }
              break;
            case 0x49:
            case 0x69:
              iVar20 = LocaleCompare(local_1020,"id");
              if (iVar20 == 0) {
                CopyMagickString(local_2020,local_30a4,0x1000);
              }
              else {
                iVar20 = LocaleCompare(local_1020,"iterations");
                if (iVar20 != 0) goto LAB_0025b5d0;
                uVar9 = strtoul(local_30a4,(char **)0x0,10);
                piVar5[0x95] = uVar9;
              }
              break;
            case 0x4d:
            case 0x6d:
              iVar20 = LocaleCompare(local_1020,"magick-signature");
              if (iVar20 == 0) {
                local_3078 = strtoul(local_30a4,(char **)0x0,10);
              }
              else {
                iVar20 = LocaleCompare(local_1020,"mattecolor");
                if (iVar20 == 0) {
                  piVar18 = piVar5 + 0xcd2;
                  goto code_r0x0025b456;
                }
                iVar20 = LocaleCompare(local_1020,"maximum-error");
                if (iVar20 == 0) {
                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);
                  *(double *)(piVar5 + 0xb0) = (double)lVar27;
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"mean-error");
                  if (iVar20 == 0) {
                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);
                    *(double *)(piVar5 + 0xae) = (double)lVar27;
                  }
                  else {
                    iVar20 = LocaleCompare(local_1020,"montage");
                    if (iVar20 != 0) goto LAB_0025b5d0;
                    CloneString(piVar5 + 0x78,local_30a4);
                  }
                }
              }
              break;
            case 0x4e:
            case 0x6e:
              iVar20 = LocaleCompare(local_1020,"number-channels");
              if (iVar20 == 0) {
                uVar9 = strtoul(local_30a4,(char **)0x0,10);
                piVar5[0xa6] = uVar9;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"number-meta-channels");
                if (iVar20 == 0) {
                  uVar9 = strtoul(local_30a4,(char **)0x0,10);
                  piVar5[0xa7] = uVar9;
                  if (0x40 < uVar9) {
                    if (local_3084 != 0) {
                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,
                                        ppuVar7);
                    }
                    DestroyString(local_30a4);
                    pcVar31 = "ImproperImageHeader";
                    uVar30 = 0x1a9;
                    uVar19 = 0x245;
                    goto LAB_0025b781;
                  }
                }
              }
              break;
            case 0x4f:
            case 0x6f:
              iVar20 = LocaleCompare(local_1020,"orientation");
              if (iVar20 != 0) goto LAB_0025b5d0;
              iVar20 = ParseCommandOption(0x36,0,local_30a4);
              if (-1 < iVar20) {
                piVar5[4] = iVar20;
              }
              break;
            case 0x50:
            case 0x70:
              iVar20 = LocaleCompare(local_1020,"page");
              if (iVar20 == 0) {
                uVar19 = GetPageGeometry(local_30a4);
                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);
                DestroyString(uVar19);
              }
              else {
                iVar20 = LocaleCompare(local_1020,"pixel-intensity");
                if (iVar20 == 0) {
                  iVar20 = ParseCommandOption(0x38,0,local_30a4);
                  if (-1 < iVar20) {
                    piVar5[0x8b] = iVar20;
                  }
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"profile");
                  if (iVar20 != 0) goto LAB_0025b5d0;
                  if (local_3084 == 0) {
                    local_3084 = NewLinkedList(0);
                  }
                  uVar19 = AcquireString(local_30a4);
                  AppendValueToLinkedList(local_3084,uVar19);
                }
              }
              break;
            case 0x51:
            case 0x71:
              iVar20 = LocaleCompare(local_1020,"quality");
              if (iVar20 != 0) goto LAB_0025b5d0;
              uVar9 = strtoul(local_30a4,(char **)0x0,10);
              piVar5[3] = uVar9;
              break;
            case 0x52:
            case 0x72:
              iVar20 = LocaleCompare(local_1020,"red-primary");
              if (iVar20 == 0) {
                uVar22 = ParseGeometry(local_30a4,&local_304c);
                *(undefined8 *)(piVar5 + 0x5d) = local_304c;
                if ((uVar22 & 8) != 0) {
                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;
                }
              }
              else {
                iVar20 = LocaleCompare(local_1020,"rendering-intent");
                if (iVar20 == 0) {
                  iVar20 = ParseCommandOption(0x23,0,local_30a4);
                  if (-1 < iVar20) {
                    piVar5[0x75] = iVar20;
                  }
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"resolution");
                  if (iVar20 == 0) {
                    uVar22 = ParseGeometry(local_30a4,&local_304c);
                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;
                    if ((uVar22 & 8) == 0) {
                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;
                    }
                    else {
                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;
                    }
                  }
                  else {
                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);
                    if (iVar20 != 0) goto LAB_0025b5d0;
                    uVar9 = strtoul(local_30a4,(char **)0x0,10);
                    piVar5[7] = uVar9;
                  }
                }
              }
              break;
            case 0x53:
            case 0x73:
              iVar20 = LocaleCompare(local_1020,"scene");
              if (iVar20 != 0) goto LAB_0025b5d0;
              uVar9 = strtoul(local_30a4,(char **)0x0,10);
              piVar5[0x91] = uVar9;
              break;
            case 0x54:
            case 0x74:
              iVar20 = LocaleCompare(local_1020,"ticks-per-second");
              if (iVar20 == 0) {
                lVar16 = strtol(local_30a4,(char **)0x0,10);
                piVar5[0x94] = lVar16;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"tile-offset");
                if (iVar20 == 0) {
                  uVar19 = GetPageGeometry(local_30a4);
                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);
                  DestroyString(uVar19);
                }
                iVar20 = LocaleCompare(local_1020,"type");
                if (iVar20 != 0) goto LAB_0025b5d0;
                iVar20 = ParseCommandOption(0x49,0,local_30a4);
                if (-1 < iVar20) {
                  piVar5[0x9e] = iVar20;
                }
              }
              break;
            case 0x55:
            case 0x75:
              iVar20 = LocaleCompare(local_1020,"units");
              if (iVar20 != 0) goto LAB_0025b5d0;
              iVar20 = ParseCommandOption(0x41,0,local_30a4);
              if (-1 < iVar20) {
                piVar5[0x77] = iVar20;
              }
              break;
            case 0x57:
            case 0x77:
              iVar20 = LocaleCompare(local_1020,"white-point");
              if (iVar20 != 0) goto LAB_0025b5d0;
              uVar22 = ParseGeometry(local_30a4,&local_304c);
              *(undefined8 *)(piVar5 + 0x6f) = local_304c;
              if ((uVar22 & 8) == 0) {
                *(undefined8 *)(piVar5 + 0x71) = local_304c;
              }
              else {
                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;
              }
            }
          }
          goto LAB_0025ac68;
        }
LAB_0025aca4:
        DestroyString(local_30a4);
        ReadBlobByte(piVar5);
        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");
        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||
            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||
             ((0x40 < (uint)piVar5[0xa6] ||
              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||
           (0x3f < piVar5[8] - 1U)) {
          if (local_3084 != 0) {
            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);
          }
          pcVar31 = "ImproperImageHeader";
          uVar30 = 0x1a9;
          uVar19 = 0x31d;
LAB_0025b781:
          ThrowMagickException
                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",
                     param_1 + 0x21f0);
          CloseBlob(piVar5);
          DestroyImageList(piVar5);
          uVar19 = 0;
          goto LAB_0025b79c;
        }
        uVar9 = GetMagickSignature(0);
        if (local_3078 != uVar9) {
          if (local_3084 != 0) {
            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);
          }
          pcVar31 = "IncompatibleAPI";
          uVar30 = 0x1bd;
          uVar19 = 0x323;
          goto LAB_0025b781;
        }
        if (piVar5[0x78] != 0) {
          iVar6 = 0;
          puVar12 = (undefined1 *)AcquireString(0);
          piVar5[0x79] = (int)puVar12;
          local_30ac = (char *)0x1000;
          do {
            *puVar12 = 0;
            puVar25 = puVar12;
            if (local_30ac <= iVar6 + 0x1000U) {
              local_30ac = (char *)((int)local_30ac * 2);
              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);
              piVar5[0x79] = iVar20;
              if (iVar20 == 0) {
                if (local_3084 != 0) {
                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);
                }
                pcVar31 = "UnableToReadImageData";
                uVar30 = 0x1a9;
                uVar19 = 0x341;
                goto LAB_0025b781;
              }
              puVar25 = (undefined1 *)(iVar20 + iVar6);
            }
            iVar20 = ReadBlobByte(piVar5);
            if (iVar20 == -1) break;
            puVar12 = puVar25 + 1;
            *puVar25 = (char)iVar20;
            iVar6 = iVar6 + 1;
          } while (iVar20 != 0);
        }
        if (local_3084 != 0) {
          ResetLinkedListIterator(local_3084);
          local_30ac = (char *)GetNextValueInLinkedList(local_3084);
          if (local_30ac != (char *)0x0) {
            while( true ) {
              uVar22 = ReadBlobMSBLong(piVar5);
              uVar28 = GetBlobSize(piVar5);
              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||
                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;
              uVar19 = GetStringInfoDatum(iVar6);
              uVar13 = ReadBlob(piVar5,uVar22,uVar19);
              if (uVar22 != uVar13) break;
              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);
              DestroyStringInfo(iVar6);
              if ((local_3080 == 0) ||
                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),
                 local_30ac == (char *)0x0)) goto LAB_0025ba84;
            }
            DestroyStringInfo(iVar6);
          }
LAB_0025ba84:
          DestroyLinkedList(local_3084,puVar4);
        }
        iVar6 = GetImageQuantumDepth(piVar5,0);
        if (*piVar5 != 2) goto LAB_0025ad8a;
        uVar22 = (uint)(iVar6 * 3) >> 3;
        iVar20 = piVar5[9];
        uVar28 = GetBlobSize(piVar5);
        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {
          pcVar31 = "InsufficientImageDataInFile";
          uVar30 = 0x1a9;
          uVar19 = 0x37d;
          goto LAB_0025b781;
        }
        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);
        piVar5[10] = iVar20;
        if (iVar20 == 0) {
          pcVar31 = "MemoryAllocationFailed";
          uVar30 = 400;
          uVar19 = 0x381;
          goto LAB_0025b781;
        }
        if (piVar5[9] != 0) {
          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);
          if (puVar14 == (uint *)0x0) {
            pcVar31 = "MemoryAllocationFailed";
            uVar30 = 400;
            uVar19 = 0x38a;
          }
          else {
            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);
            fVar3 = DAT_002e814c;
            fVar2 = DAT_002e8148;
            iVar20 = piVar5[9];
            if (uVar22 * iVar20 - iVar15 == 0) {
              if (iVar6 == 0x10) {
                if (0 < iVar20) {
                  pdVar17 = (double *)(piVar5[10] + 0x20);
                  puVar21 = puVar14;
                  do {
                    puVar23 = (uint *)((int)puVar21 + 6);
                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);
                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |
                                                 *(ushort *)((int)puVar21 + 2) >> 8);
                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)
                    ;
                    pdVar17 = pdVar17 + 10;
                    puVar21 = puVar23;
                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);
                }
              }
              else if (iVar6 == 0x20) {
                if (0 < iVar20) {
                  pdVar17 = (double *)(piVar5[10] + 0x20);
                  puVar21 = puVar14;
                  do {
                    uVar22 = *puVar21;
                    puVar23 = puVar21 + 3;
                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |
                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);
                    uVar22 = puVar21[1];
                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |
                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);
                    uVar22 = puVar21[2];
                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |
                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);
                    pdVar17 = pdVar17 + 10;
                    puVar21 = puVar23;
                  } while (puVar23 != puVar14 + iVar20 * 3);
                }
              }
              else {
                if (iVar6 != 8) {
                  RelinquishMagickMemory(puVar14);
                  pcVar31 = "ImageDepthNotSupported";
                  uVar30 = 0x1a9;
                  uVar19 = 0x398;
                  goto LAB_0025b781;
                }
                if (0 < iVar20) {
                  pdVar17 = (double *)(piVar5[10] + 0x20);
                  puVar21 = puVar14;
                  do {
                    puVar23 = (uint *)((int)puVar21 + 3);
                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);
                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);
                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);
                    pdVar17 = pdVar17 + 10;
                    puVar21 = puVar23;
                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);
                }
              }
              RelinquishMagickMemory(puVar14);
              goto LAB_0025ad8a;
            }
            RelinquishMagickMemory(puVar14);
            pcVar31 = "InsufficientImageDataInFile";
            uVar30 = 0x1a9;
            uVar19 = 0x390;
          }
          goto LAB_0025b781;
        }
LAB_0025ad8a:
        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&
           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {
          CloseBlob(piVar5);
          if (local_3080 != 0) goto LAB_0025b914;
          goto LAB_0025aeb9;
        }
        iVar6 = AcquireMagickResource(10,piVar5[6],0);
        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {
          pcVar31 = "WidthOrHeightExceedsLimit";
          uVar30 = 0x1d1;
          uVar19 = 0x3db;
          goto LAB_0025b781;
        }
        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);
        if (iVar6 == 0) {
          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);
          pcVar31 = "UnableToPersistPixelCache";
          uVar30 = 0x1bd;
          uVar19 = 0x3e3;
          goto LAB_0025b781;
        }
        iVar6 = EOFBlob(piVar5);
        if (iVar6 != 0) {
          piVar18 = __errno_location();
          uVar19 = GetExceptionMessage(*piVar18);
          ThrowMagickException
                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",
                     "\'%s\': %s",piVar5 + 0xc6,uVar19);
          DestroyString(uVar19);
          CloseBlob(piVar5);
LAB_0025b914:
          uVar19 = GetFirstImageInList(piVar5);
          goto LAB_0025b79c;
        }
        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {
          if (iVar6 == -1) goto LAB_0025b908;
        }
        if (iVar6 == -1) {
LAB_0025b908:
          CloseBlob(piVar5);
          goto LAB_0025b914;
        }
        AcquireNextImage(param_1,piVar5,param_2);
        iVar20 = GetNextImageInList(piVar5);
        if (iVar20 == 0) break;
        piVar5 = (int *)SyncNextImageInList(piVar5);
        uVar28 = GetBlobSize(piVar5);
        uVar29 = TellBlob(piVar5);
        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);
      } while (local_3080 != 0);
      CloseBlob(piVar5);
LAB_0025aeb9:
      uVar19 = DestroyImageList(piVar5);
    }
  }
LAB_0025b79c:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar19;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002decd0();
LAB_0025b6e0:
  *pcVar31 = '\0';
  SetImageProperty(piVar5,"comment",pcVar10,param_2);
  DestroyString(pcVar10);
  iVar6 = ReadBlobByte(piVar5);
LAB_0025ac68:
  puVar8 = *ppuVar7;
  uVar1 = puVar8[iVar6];
  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;
  do {
    iVar6 = ReadBlobByte(piVar5);
    puVar8 = *ppuVar7;
    uVar1 = puVar8[iVar6];
  } while ((uVar1 & 0x2000) != 0);
  if (iVar6 == 0x3a) goto LAB_0025aca4;
  goto LAB_0025ab48;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00039d70
ADD EBX,0x1c3657
SUB ESP,0x309c
MOV EDI,dword ptr [ESP + 0x30b4]
MOV EAX,dword ptr [ESP + 0x30b0]
MOV dword ptr [ESP + 0x18],EDI
MOV EDI,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x308c],EDI
XOR EDI,EDI
MOV dword ptr [ESP + 0x24],EAX
TEST EAX,EAX
JZ 0x0025c3c9
CMP dword ptr [EAX + 0x31f4],0xabacadab
JNZ 0x0025c3aa
MOV ESI,dword ptr [EAX + 0x31f0]
TEST ESI,ESI
JNZ 0x0025bb37
MOV ECX,dword ptr [ESP + 0x18]
TEST ECX,ECX
JZ 0x0025c3ed
MOV EAX,dword ptr [ESP + 0x18]
CMP dword ptr [EAX + 0x1c],0xabacadab
JNZ 0x0025c38b
SUB ESP,0x8
MOV ESI,dword ptr [ESP + 0x20]
PUSH ESI
MOV EDI,dword ptr [ESP + 0x30]
PUSH EDI
CALL 0x000313c0
ADD ESP,0x10
PUSH ESI
MOV EBP,EAX
PUSH 0x2
PUSH EAX
PUSH EDI
CALL 0x00032230
MOV dword ptr [ESP + 0x3c],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0025c03d
LEA EAX,[EBP + 0x318]
SUB ESP,0x4
PUSH 0xffa
PUSH EAX
LEA EAX,[ESP + 0x98]
MOV dword ptr [ESP + 0x4c],EAX
MOV EDI,EAX
PUSH EAX
CALL 0x00030b70
POP EAX
LEA EAX,[EBX + 0xffec282f]
POP EDX
PUSH EDI
PUSH EAX
CALL 0x00032c50
MOV dword ptr [ESP],EBP
CALL 0x00030c90
ADD ESP,0x10
MOV ESI,EAX
CMP EAX,-0x1
JZ 0x0025c0b4
LEA EDI,[ESP + 0x208c]
XOR EAX,EAX
MOV ECX,0x400
MOV byte ptr [ESP + 0x108c],0x0
MOV dword ptr [ESP + 0x14],EDI
STOSD.REP ES:EDI
MOV dword ptr [ESP + 0x58],0x0
MOV dword ptr [ESP + 0x5c],0x0
CALL 0x00031ac0
MOV EDI,EAX
LEA EAX,[ESP + 0x60]
MOV dword ptr [ESP + 0x30],EAX
MOV EAX,dword ptr [EBX + 0xffffffd8]
MOV dword ptr [ESP + 0x44],EAX
SUB ESP,0xc
PUSH dword ptr [ESP + 0x3c]
CALL 0x000306e0
MOV dword ptr [ESP],0x0
CALL 0x00030c00
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0x18],EAX
CALL 0x00031040
LEA ECX,[EBX + 0xffee1422]
MOV dword ptr [EBP + 0x20],0x8
MOV dword ptr [ESP + 0x44],EAX
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
MOV dword ptr [ESP + 0x38],ECX
LEA ECX,[EBX + 0xffee10ac]
MOV dword ptr [ESP + 0x3c],ECX
MOV ECX,EDI
MOV EDI,ESI
MOV dword ptr [EBP + 0x8],0x10
MOVZX EDX,word ptr [EAX + ESI*0x2]
MOV dword ptr [ESP + 0x28],0x0
MOV ESI,ECX
CMP EDI,0x3a
JZ 0x0025aca4
TEST DX,DX
JNS 0x0025aca4
CMP EDI,0x7b
JZ 0x0025b620
AND EDX,0x8
JZ 0x0025b5f0
CMP EDI,0x3d
JZ 0x0025b8bb
MOV EDX,dword ptr [ESP + 0x14]
MOV EAX,EDI
MOV dword ptr [ESP],ESI
MOV EDI,EDX
MOV ESI,EDX
JMP 0x0025ab89
CMP EAX,0x3d
JZ 0x0025b608
MOV EDX,EDI
SUB EDX,ESI
CMP EDX,0xffe
JA 0x0025ab9a
MOV byte ptr [EDI],AL
ADD EDI,0x1
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
ADD ESP,0x10
CMP EAX,-0x1
JNZ 0x0025ab80
MOV ESI,dword ptr [ESP]
MOV ECX,EDI
MOV EDI,EAX
MOV EDX,0xfffffffe
MOV EAX,dword ptr [ESI]
MOV byte ptr [ECX],0x0
MOVZX EAX,word ptr [EAX + EDX*0x1]
TEST AH,0x20
JZ 0x0025abdf
LEA ESI,[ESI]
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
MOV EDX,dword ptr [ESI]
ADD ESP,0x10
TEST byte ptr [EDX + EAX*0x2 + 0x1],0x20
JNZ 0x0025abc8
MOV EDI,EAX
MOV EDX,dword ptr [ESP + 0x8]
CMP EDI,0x3d
JZ 0x0025b7bb
MOV EAX,dword ptr [ESP + 0x8]
MOV byte ptr [EDX],0x0
CMP byte ptr [EAX],0x7b
JZ 0x0025b718
MOVZX EAX,byte ptr [ESP + 0x208c]
SUB EAX,0x41
CMP AL,0x36
JA 0x0025b5d0
MOVZX EAX,AL
MOV ECX,dword ptr [EBX + EAX*0x4 + 0xfff264e0]
ADD ECX,EBX
JMP ECX
MOV EAX,dword ptr [ESI]
MOVZX EDX,word ptr [EAX + EDI*0x2]
TEST DH,0x20
JZ 0x0025ab3f
MOV ESI,ESI
LEA EDI,[EDI]
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
MOV ECX,dword ptr [ESI]
ADD ESP,0x10
MOVZX EDX,word ptr [ECX + EAX*0x2]
TEST DH,0x20
JNZ 0x0025ac80
MOV EDI,EAX
MOV EAX,ECX
CMP EDI,0x3a
JNZ 0x0025ab48
SUB ESP,0xc
MOV EDI,ESI
PUSH dword ptr [ESP + 0x14]
CALL 0x00032950
MOV dword ptr [ESP],EBP
CALL 0x00030c90
POP EAX
LEA EAX,[EBX + 0xfff2639a]
POP EDX
PUSH EAX
LEA EAX,[ESP + 0x1098]
PUSH EAX
CALL 0x000326f0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0025baf6
MOV EAX,dword ptr [EBP]
TEST EAX,EAX
JZ 0x0025baf6
MOV EAX,dword ptr [EBP + 0x8]
TEST EAX,EAX
JZ 0x0025baf6
MOV EAX,dword ptr [EBP + 0x18]
TEST EAX,EAX
JZ 0x0025baf6
MOV ESI,dword ptr [EBP + 0x1c]
TEST ESI,ESI
JZ 0x0025baf6
MOV EAX,dword ptr [EBP + 0x298]
CMP EAX,0x40
JA 0x0025baf6
MOV EDX,dword ptr [EBP + 0x29c]
CMP EDX,0x38
JA 0x0025baf6
ADD EAX,EDX
CMP EAX,0x3f
JA 0x0025baf6
MOV EAX,dword ptr [EBP + 0x20]
SUB EAX,0x1
CMP EAX,0x3f
JA 0x0025baf6
SUB ESP,0xc
PUSH 0x0
CALL 0x00031040
ADD ESP,0x10
CMP dword ptr [ESP + 0x34],EAX
JNZ 0x0025c0c7
MOV ECX,dword ptr [EBP + 0x1e0]
TEST ECX,ECX
JNZ 0x0025b925
MOV EDX,dword ptr [ESP + 0x28]
TEST EDX,EDX
JNZ 0x0025b9ba
SUB ESP,0x8
PUSH 0x0
PUSH EBP
CALL 0x00032390
ADD ESP,0x10
CMP dword ptr [EBP],0x2
MOV ESI,EAX
JZ 0x0025bb70
MOV ECX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [ECX + 0x1bc]
TEST EAX,EAX
JZ 0x0025ada3
MOV EAX,dword ptr [ECX + 0x2c]
TEST EAX,EAX
JNZ 0x0025ba9c
MOV EAX,dword ptr [EBP + 0x18]
SUB ESP,0x4
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH 0xa
CALL 0x00030be0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0025c077
MOV EAX,dword ptr [EBP + 0x1c]
SUB ESP,0x4
XOR EDX,EDX
PUSH EDX
PUSH EAX
PUSH 0x4
CALL 0x00030be0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0025c077
SUB ESP,0xc
PUSH dword ptr [ESP + 0x24]
LEA EAX,[ESP + 0x68]
PUSH EAX
PUSH 0x1
PUSH dword ptr [ESP + 0x58]
PUSH EBP
CALL 0x000333e0
ADD ESP,0x20
TEST EAX,EAX
JZ 0x0025c25a
SUB ESP,0xc
PUSH EBP
CALL 0x00030ee0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0025ae21
JMP 0x0025c2a4
CMP EAX,-0x1
JZ 0x0025b908
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
MOV EDX,dword ptr [EDI]
ADD ESP,0x10
CMP word ptr [EDX + EAX*0x2],0x0
JNS 0x0025ae18
MOV ESI,EAX
CMP EAX,-0x1
JZ 0x0025b908
SUB ESP,0x4
PUSH dword ptr [ESP + 0x1c]
PUSH EBP
PUSH dword ptr [ESP + 0x30]
CALL 0x00032cc0
MOV dword ptr [ESP],EBP
CALL 0x000319e0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0025aead
SUB ESP,0xc
PUSH EBP
CALL 0x00031b80
MOV dword ptr [ESP],EAX
MOV EBP,EAX
CALL 0x000318e0
MOV dword ptr [ESP],EBP
MOV dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x14],EDX
CALL 0x00031f30
ADD ESP,0x8
PUSH dword ptr [ESP + 0xc]
PUSH dword ptr [ESP + 0xc]
PUSH EDX
PUSH EAX
LEA EAX,[EBX + 0xffeee97a]
PUSH EAX
PUSH EBP
CALL 0x00033840
MOV dword ptr [ESP + 0x4c],EAX
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x0025aada
SUB ESP,0xc
PUSH EBP
CALL 0x000311d0
ADD ESP,0x10
SUB ESP,0xc
PUSH EBP
CALL 0x000317a0
ADD ESP,0x10
JMP 0x0025b79c
PUSH dword ptr [ESP + 0x18]
PUSH dword ptr [ESP + 0xc]
PUSH dword ptr [ESP + 0x1c]
PUSH EBP
CALL 0x00031710
ADD ESP,0x10
JMP 0x0025ac68
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
ADD ESP,0x10
MOV EDI,EAX
JMP 0x0025ac68
MOV ESI,dword ptr [ESP]
MOV ECX,EDI
MOV EDX,0x7a
MOV EDI,EAX
MOV EAX,dword ptr [ESI]
JMP 0x0025abb9
SUB ESP,0xc
PUSH 0x0
CALL 0x00030c00
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0025b73e
MOV dword ptr [ESP + 0x20],ESI
MOV EDI,EAX
MOV ESI,EAX
MOV dword ptr [ESP],0x1000
LEA ESI,[ESI]
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
ADD ESP,0x10
MOV EDX,EAX
CMP EAX,0x5c
JZ 0x0025b6d0
CMP EAX,-0x1
JZ 0x0025b6e0
CMP EAX,0x7d
JZ 0x0025b6e0
MOV EAX,ESI
SUB EAX,EDI
ADD EAX,0x1
CMP EAX,dword ptr [ESP]
JNC 0x0025b680
MOV byte ptr [ESI],DL
ADD ESI,0x1
JMP 0x0025b648
SHL dword ptr [ESP],0x1
MOV dword ptr [ESP + 0x1c],EDX
SUB ESP,0x4
MOV EAX,dword ptr [ESP + 0x4]
MOV byte ptr [ESI],0x0
PUSH 0x1
ADD EAX,0x1000
PUSH EAX
PUSH EDI
CALL 0x00031b20
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0025b73e
SUB ESP,0xc
PUSH EAX
CALL 0x00031eb0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x1c]
LEA ESI,[EDI + EAX*0x1]
ADD ESI,0x1
MOV byte ptr [ESI + -0x1],DL
JMP 0x0025b648
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
ADD ESP,0x10
MOV EDX,EAX
JMP 0x0025b669
LEA EAX,[EBX + 0xffee0e6a]
MOV EDX,ESI
MOV ESI,dword ptr [ESP + 0x20]
MOV byte ptr [EDX],0x0
PUSH dword ptr [ESP + 0x18]
PUSH EDI
PUSH EAX
PUSH EBP
CALL 0x00031710
MOV dword ptr [ESP],EDI
CALL 0x00032950
MOV dword ptr [ESP],EBP
CALL 0x00030c90
ADD ESP,0x10
MOV EDI,EAX
JMP 0x0025ac68
SUB ESP,0xc
PUSH dword ptr [ESP + 0x14]
CALL 0x00031eb0
ADD ESP,0xc
PUSH EAX
MOV ECX,dword ptr [ESP + 0x10]
LEA EAX,[ECX + 0x1]
PUSH EAX
PUSH ECX
CALL 0x00030b70
ADD ESP,0x10
JMP 0x0025abfc
SUB ESP,0xc
PUSH dword ptr [ESP + 0x14]
CALL 0x00032950
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x10e
LEA EAX,[EBX + 0xfff265bc]
PUSH EAX
LEA EAX,[EBX + 0xfff263ab]
PUSH EAX
PUSH dword ptr [ESP + 0x34]
CALL 0x00032e80
ADD ESP,0x14
PUSH EBP
CALL 0x000311d0
MOV dword ptr [ESP],EBP
CALL 0x000317a0
ADD ESP,0x10
XOR EAX,EAX
MOV EDI,dword ptr [ESP + 0x308c]
XOR EDI,dword ptr GS:[0x14]
JNZ 0x0025c3e8
ADD ESP,0x309c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
ADD ESP,0x10
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x1c],EBP
MOV dword ptr [ESP + 0x20],ESI
MOV dword ptr [ESP + 0x8],0xfff
MOV EBP,EAX
MOV ESI,EAX
JMP 0x0025b802
CMP byte ptr [EBP],0x7b
JZ 0x0025b7ff
MOV EAX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX]
TEST byte ptr [EAX + EDI*0x2 + 0x1],0x20
JNZ 0x0025bad0
MOV ESI,dword ptr [ESP]
CMP EDI,0x7d
JZ 0x0025b8c9
CMP EDI,-0x1
JZ 0x0025b8c9
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,ESI
SUB EAX,EBP
ADD EAX,0x1
CMP EAX,ECX
JC 0x0025b85b
ADD ECX,ECX
SUB ESP,0x4
MOV byte ptr [ESI],0x0
MOV dword ptr [ESP + 0xc],ECX
LEA EAX,[ECX + 0x1000]
PUSH 0x1
PUSH EAX
PUSH EBP
CALL 0x00031b20
ADD ESP,0x10
MOV EBP,EAX
TEST EAX,EAX
JZ 0x0025baed
SUB ESP,0xc
PUSH EAX
CALL 0x00031eb0
ADD ESP,0x10
LEA ESI,[EBP + EAX*0x1]
LEA EAX,[ESI + 0x1]
SUB ESP,0xc
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,EDI
MOV byte ptr [ESI],AL
PUSH dword ptr [ESP + 0x28]
CALL 0x00030c90
ADD ESP,0x10
MOV EDI,EAX
CMP EAX,0x5c
JNZ 0x0025b7e8
SUB ESP,0xc
PUSH dword ptr [ESP + 0x28]
CALL 0x00030c90
ADD ESP,0x10
MOV EDI,EAX
CMP EAX,0x7d
JNZ 0x0025b7e8
LEA EAX,[ESI + 0x2]
SUB ESP,0xc
MOV byte ptr [ESI + 0x1],0x7d
MOV dword ptr [ESP + 0xc],EAX
PUSH dword ptr [ESP + 0x28]
CALL 0x00030c90
ADD ESP,0x10
MOV EDI,EAX
JMP 0x0025b7e8
MOV EDX,0x7a
MOV ECX,dword ptr [ESP + 0x14]
JMP 0x0025abb9
MOV EAX,EBP
MOV dword ptr [ESP + 0x8],EBP
MOV EDX,ESI
MOV EBP,dword ptr [ESP + 0x1c]
MOV ESI,dword ptr [ESP + 0x20]
TEST EAX,EAX
JNZ 0x0025abec
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x14c
JMP 0x0025b76f
SUB ESP,0xc
PUSH EBP
CALL 0x000311d0
ADD ESP,0x10
SUB ESP,0xc
PUSH EBP
CALL 0x00031a70
ADD ESP,0x10
JMP 0x0025b79c
SUB ESP,0xc
XOR ESI,ESI
PUSH 0x0
CALL 0x00030c00
ADD ESP,0x10
MOV EDX,EAX
MOV dword ptr [EBP + 0x1e4],EAX
MOV dword ptr [ESP],0x1000
MOV dword ptr [ESP + 0x8],EDI
JMP 0x0025b9a6
ADD ECX,ECX
SUB ESP,0x4
MOV dword ptr [ESP + 0x4],ECX
LEA EAX,[ECX + 0x1000]
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + 0x1e4]
CALL 0x00031b20
ADD ESP,0x10
MOV dword ptr [EBP + 0x1e4],EAX
TEST EAX,EAX
JZ 0x0025bfe5
LEA EDI,[EAX + ESI*0x1]
SUB ESP,0xc
PUSH EBP
CALL 0x00030c90
ADD ESP,0x10
CMP EAX,-0x1
JZ 0x0025bae4
LEA EDX,[EDI + 0x1]
MOV byte ptr [EDI],AL
ADD ESI,0x1
TEST EAX,EAX
JZ 0x0025bae4
MOV ECX,dword ptr [ESP]
LEA EAX,[ESI + 0x1000]
MOV byte ptr [EDX],0x0
CMP EAX,ECX
JNC 0x0025b950
MOV EDI,EDX
JMP 0x0025b981
SUB ESP,0xc
MOV ESI,dword ptr [ESP + 0x34]
PUSH ESI
CALL 0x00031700
MOV dword ptr [ESP],ESI
CALL 0x00031f60
MOV dword ptr [ESP + 0x10],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0025ba84
MOV dword ptr [ESP + 0x8],EDI
LEA ESI,[ESI]
SUB ESP,0xc
PUSH EBP
CALL 0x00033ad8
MOV dword ptr [ESP],EBP
MOV ESI,EAX
CALL 0x000318e0
ADD ESP,0x10
MOV EDI,EDX
XOR EDX,EDX
MOV ECX,EAX
CMP EDX,EDI
JA 0x0025ba80
JC 0x0025ba0e
CMP ESI,ECX
JA 0x0025ba80
SUB ESP,0xc
PUSH ESI
CALL 0x000329e0
ADD ESP,0x10
MOV EDI,EAX
TEST EAX,EAX
JZ 0x0025ba80
SUB ESP,0xc
PUSH EAX
CALL 0x00033130
ADD ESP,0xc
PUSH EAX
PUSH ESI
PUSH EBP
CALL 0x00033430
ADD ESP,0x10
CMP ESI,EAX
JNZ 0x0025c026
PUSH dword ptr [ESP + 0x18]
PUSH EDI
PUSH dword ptr [ESP + 0x8]
PUSH EBP
CALL 0x00031190
MOV dword ptr [ESP],EDI
MOV ESI,EAX
MOV dword ptr [ESP + 0x3c],EAX
CALL 0x000332e0
ADD ESP,0x10
TEST ESI,ESI
JZ 0x0025ba80
SUB ESP,0xc
PUSH dword ptr [ESP + 0x34]
CALL 0x00031f60
MOV dword ptr [ESP + 0x10],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0025b9e8
NOP
MOV EDI,dword ptr [ESP + 0x8]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x34]
CALL 0x00032210
ADD ESP,0x10
JMP 0x0025ad70
ADD EAX,dword ptr [ECX + 0x28]
SUB EAX,0x1
CMP dword ptr [EBP + 0x244],EAX
JC 0x0025ada3
SUB ESP,0xc
PUSH EBP
CALL 0x000311d0
ADD ESP,0x10
CMP dword ptr [ESP + 0x2c],0x0
JNZ 0x0025b914
JMP 0x0025aeb9
MOV dword ptr [ESP + 0x8],EBP
MOV ESI,dword ptr [ESP + 0x20]
MOV EBP,dword ptr [ESP + 0x1c]
MOV EDX,dword ptr [ESP]
JMP 0x0025abec
MOV EDI,dword ptr [ESP + 0x8]
JMP 0x0025ad64
MOV EBP,dword ptr [ESP + 0x1c]
JMP 0x0025b8e1
MOV EAX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JZ 0x0025bb10
SUB ESP,0x8
PUSH dword ptr [EBX + 0xffffffd8]
PUSH EAX
CALL 0x00032210
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffeee952]
PUSH EAX
PUSH 0x1a9
PUSH 0x31d
JMP 0x0025b76f
SUB ESP,0x8
MOV EAX,dword ptr [ESP + 0x2c]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffed95ae]
PUSH EAX
LEA EAX,[EBX + 0xfff265bc]
PUSH 0xc5
PUSH EAX
LEA EAX,[EBX + 0xfff263ab]
PUSH EAX
PUSH 0x8000
CALL 0x000323b0
ADD ESP,0x20
JMP 0x0025aa01
LEA EDX,[EAX + EAX*0x2]
MOV dword ptr [ESP + 0x4],0x0
SUB ESP,0xc
SHR EDX,0x3
MOV ECX,EDX
MOV dword ptr [ESP + 0x14],EDX
IMUL ECX,dword ptr [EBP + 0x24]
MOV dword ptr [ESP + 0xc],ECX
MOV dword ptr [ESP + 0x28],ECX
PUSH EBP
CALL 0x000318e0
ADD ESP,0x10
CMP dword ptr [ESP + 0x4],EDX
JNC 0x0025beee
SUB ESP,0x8
PUSH 0x50
MOV EAX,dword ptr [EBP + 0x24]
ADD EAX,0x1
PUSH EAX
CALL 0x000317b0
ADD ESP,0x10
MOV dword ptr [EBP + 0x28],EAX
TEST EAX,EAX
JZ 0x0025c307
MOV EAX,dword ptr [EBP + 0x24]
TEST EAX,EAX
JZ 0x0025ad8a
SUB ESP,0x8
PUSH dword ptr [ESP + 0x10]
PUSH EAX
CALL 0x000317b0
MOV dword ptr [ESP + 0x10],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0025c364
SUB ESP,0x4
PUSH dword ptr [ESP + 0x4]
MOV EAX,dword ptr [ESP + 0x10]
IMUL EAX,dword ptr [EBP + 0x24]
PUSH EAX
PUSH EBP
CALL 0x00033430
MOV EDX,dword ptr [ESP + 0x18]
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0x24]
IMUL EDX,ECX
CMP EDX,EAX
JNZ 0x0025c32e
CMP ESI,0x10
JZ 0x0025c1f3
CMP ESI,0x20
JZ 0x0025c176
CMP ESI,0x8
JZ 0x0025c108
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffed9cb6]
PUSH EAX
PUSH 0x1a9
PUSH 0x398
JMP 0x0025b76f
JBE 0x0025c05b
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffeeeeb0]
PUSH EAX
PUSH 0x1a9
PUSH 0x37d
JMP 0x0025b76f
MOV EAX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JZ 0x0025bfff
SUB ESP,0x8
PUSH dword ptr [EBX + 0xffffffd8]
PUSH EAX
CALL 0x00032210
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffece6d1]
PUSH EAX
PUSH 0x1a9
PUSH 0x341
JMP 0x0025b76f
MOV EDX,EDI
SUB ESP,0xc
MOV EDI,dword ptr [ESP + 0x14]
PUSH EDX
CALL 0x000332e0
ADD ESP,0x10
JMP 0x0025ba84
SUB ESP,0xc
PUSH EBP
CALL 0x000317a0
ADD ESP,0x10
XOR EAX,EAX
JMP 0x0025b79c
MOV ECX,dword ptr [ESP + 0x1c]
CMP ECX,EAX
JBE 0x0025bba6
JMP 0x0025bef4
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec0f2e]
PUSH EAX
PUSH 0x1d1
PUSH 0x3db
JMP 0x0025b76f
SUB ESP,0xc
PUSH EBP
CALL 0x00032dd0
ADD ESP,0x10
XOR EAX,EAX
JMP 0x0025b79c
MOV EAX,dword ptr [ESP + 0x28]
TEST EAX,EAX
JZ 0x0025c0e1
SUB ESP,0x8
PUSH dword ptr [EBX + 0xffffffd8]
PUSH EAX
CALL 0x00032210
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xfff26407]
PUSH EAX
PUSH 0x1bd
PUSH 0x323
JMP 0x0025b76f
TEST ECX,ECX
JLE 0x0025c162
MOV EAX,dword ptr [EBP + 0x28]
LEA ESI,[ECX + ECX*0x2]
MOV EDX,dword ptr [ESP]
FLD dword ptr [EBX + 0xffeca14c]
ADD EAX,0x20
ADD ESI,EDX
MOVZX ECX,byte ptr [EDX]
ADD EDX,0x3
ADD EAX,0x50
MOV dword ptr [ESP + 0x8],ECX
FILD dword ptr [ESP + 0x8]
FLD ST1
FMUL ST1
FXCH
FSTP qword ptr [EAX + -0x50]
MOVZX ECX,byte ptr [EDX + -0x2]
MOV dword ptr [ESP + 0x8],ECX
FILD dword ptr [ESP + 0x8]
FMUL ST1
FSTP qword ptr [EAX + -0x48]
MOVZX ECX,byte ptr [EDX + -0x1]
MOV dword ptr [ESP + 0x8],ECX
FILD dword ptr [ESP + 0x8]
FMULP
FSTP qword ptr [EAX + -0x40]
CMP ESI,EDX
JNZ 0x0025c120
FSTP ST0
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x00033ac8
ADD ESP,0x10
JMP 0x0025ad8a
TEST ECX,ECX
JLE 0x0025c162
LEA EDX,[ECX + ECX*0x2]
MOV EAX,dword ptr [EBP + 0x28]
MOV ECX,dword ptr [ESP]
FLD dword ptr [EBX + 0xffeca148]
ADD EAX,0x20
LEA ESI,[ECX + EDX*0x4]
MOV EDX,ECX
MOV ECX,dword ptr [EDX]
MOV dword ptr [ESP + 0xc],0x0
ADD EDX,0xc
ADD EAX,0x50
BSWAP ECX
MOV dword ptr [ESP + 0x8],ECX
FILD qword ptr [ESP + 0x8]
FLD ST1
MOV dword ptr [ESP + 0xc],0x0
FDIV ST1,ST0
FXCH
FSTP qword ptr [EAX + -0x50]
MOV ECX,dword ptr [EDX + -0x8]
BSWAP ECX
MOV dword ptr [ESP + 0x8],ECX
FILD qword ptr [ESP + 0x8]
FDIV ST0,ST1
MOV dword ptr [ESP + 0xc],0x0
FSTP qword ptr [EAX + -0x48]
MOV ECX,dword ptr [EDX + -0x4]
BSWAP ECX
MOV dword ptr [ESP + 0x8],ECX
FILD qword ptr [ESP + 0x8]
FDIVRP
FSTP qword ptr [EAX + -0x40]
CMP EDX,ESI
JNZ 0x0025c191
FSTP ST0
JMP 0x0025c162
TEST ECX,ECX
JLE 0x0025c162
LEA EDX,[ECX + ECX*0x2]
MOV EAX,dword ptr [EBP + 0x28]
MOV ECX,dword ptr [ESP]
ADD EAX,0x20
LEA ESI,[ECX + EDX*0x2]
MOVZX EDX,word ptr [ECX]
ADD ECX,0x6
ADD EAX,0x50
ROL DX,0x8
MOVZX EDX,DX
MOV dword ptr [ESP + 0x8],EDX
FILD dword ptr [ESP + 0x8]
FSTP qword ptr [EAX + -0x50]
MOVZX EDX,word ptr [ECX + -0x4]
ROL DX,0x8
MOVZX EDX,DX
MOV dword ptr [ESP + 0x8],EDX
FILD dword ptr [ESP + 0x8]
FSTP qword ptr [EAX + -0x48]
MOVZX EDX,word ptr [ECX + -0x2]
ROL DX,0x8
MOVZX EDX,DX
MOV dword ptr [ESP + 0x8],EDX
FILD dword ptr [ESP + 0x8]
FSTP qword ptr [EAX + -0x40]
CMP ESI,ECX
JNZ 0x0025c20a
JMP 0x0025c162
MOV EDI,dword ptr [ESP + 0x18]
PUSH EDI
PUSH dword ptr [EBP + 0x1c]
PUSH dword ptr [EBP + 0x18]
PUSH EBP
CALL 0x00031910
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xfff26417]
PUSH EAX
LEA EAX,[EBX + 0xfff265bc]
PUSH 0x1bd
PUSH 0x3e3
PUSH EAX
LEA EAX,[EBX + 0xfff263ab]
PUSH EAX
PUSH EDI
JMP 0x0025b781
CALL 0x000305f0
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00031c10
MOV dword ptr [ESP],EAX
MOV ESI,EAX
LEA EAX,[EBP + 0x318]
PUSH EAX
LEA EAX,[EBX + 0xffec0deb]
PUSH EAX
LEA EAX,[EBX + 0xffeee966]
PUSH EAX
LEA EAX,[EBX + 0xfff265bc]
PUSH 0x1a9
PUSH 0x3e8
PUSH EAX
LEA EAX,[EBX + 0xfff263ab]
PUSH EAX
PUSH dword ptr [ESP + 0x44]
CALL 0x00032e80
ADD ESP,0x24
PUSH ESI
CALL 0x00032950
MOV dword ptr [ESP],EBP
CALL 0x000311d0
ADD ESP,0x10
JMP 0x0025b914
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x381
JMP 0x0025b76f
SUB ESP,0xc
PUSH dword ptr [ESP + 0xc]
CALL 0x00033ac8
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffeeeeb0]
PUSH EAX
PUSH 0x1a9
PUSH 0x390
JMP 0x0025b76f
MOV EAX,dword ptr [ESP + 0x24]
ADD EAX,0x21f0
PUSH EAX
LEA EAX,[EBX + 0xffec3be0]
PUSH EAX
LEA EAX,[EBX + 0xffec156e]
PUSH EAX
PUSH 0x190
PUSH 0x38a
JMP 0x0025b76f
LEA EAX,[EBX + 0xfff265cc]
PUSH EAX
LEA EAX,[EBX + 0xfff263ab]
PUSH 0xc8
PUSH EAX
LEA EAX,[EBX + 0xffec29d4]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff265cc]
PUSH EAX
LEA EAX,[EBX + 0xfff263ab]
PUSH 0xc3
PUSH EAX
LEA EAX,[EBX + 0xffec0d48]
PUSH EAX
CALL 0x000313d0
LEA EAX,[EBX + 0xfff265cc]
PUSH EAX
LEA EAX,[EBX + 0xfff263ab]
PUSH 0xc2
PUSH EAX
LEA EAX,[EBX + 0xffec0d20]
PUSH EAX
CALL 0x000313d0
CALL 0x002decd0
LEA EAX,[EBX + 0xfff265cc]
PUSH EAX
LEA EAX,[EBX + 0xfff263ab]
PUSH 0xc7
PUSH EAX
LEA EAX,[EBX + 0xffec1be4]
PUSH EAX
CALL 0x000313d0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_0025a9a0(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  float fVar2;\n  float fVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  ushort **ppuVar7;\n  ushort *puVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  uint *puVar14;\n  int iVar15;\n  long lVar16;\n  double *pdVar17;\n  int *piVar18;\n  undefined4 uVar19;\n  int iVar20;\n  uint *puVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  undefined1 *puVar25;\n  int in_GS_OFFSET;\n  byte bVar26;\n  longdouble lVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  char *pcVar31;\n  char *local_30ac;\n  char *local_30a4;\n  int local_3084;\n  int local_3080;\n  ulong local_3078;\n  undefined4 local_3054;\n  undefined4 local_3050;\n  undefined8 local_304c;\n  undefined8 uStack_3044;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar26 = 0;\n  uStack_14 = 0x25a9a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  piVar5 = (int *)AcquireImage(param_1,param_2);\n  local_3080 = OpenBlob(param_1,piVar5,2,param_2);\n  if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }\nLAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002decd0();\nLAB_0025b6e0:\n  *pcVar31 = '\0';\n  SetImageProperty(piVar5,"comment",pcVar10,param_2);\n  DestroyString(pcVar10);\n  iVar6 = ReadBlobByte(piVar5);\nLAB_0025ac68:\n  puVar8 = *ppuVar7;\n  uVar1 = puVar8[iVar6];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar6 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}\n\n" comment (function_definition "undefined4 FUN_0025a9a0(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  float fVar2;\n  float fVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  ushort **ppuVar7;\n  ushort *puVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  uint *puVar14;\n  int iVar15;\n  long lVar16;\n  double *pdVar17;\n  int *piVar18;\n  undefined4 uVar19;\n  int iVar20;\n  uint *puVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  undefined1 *puVar25;\n  int in_GS_OFFSET;\n  byte bVar26;\n  longdouble lVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  char *pcVar31;\n  char *local_30ac;\n  char *local_30a4;\n  int local_3084;\n  int local_3080;\n  ulong local_3078;\n  undefined4 local_3054;\n  undefined4 local_3050;\n  undefined8 local_304c;\n  undefined8 uStack_3044;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar26 = 0;\n  uStack_14 = 0x25a9a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  piVar5 = (int *)AcquireImage(param_1,param_2);\n  local_3080 = OpenBlob(param_1,piVar5,2,param_2);\n  if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }\nLAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002decd0();\nLAB_0025b6e0:\n  *pcVar31 = '\0';\n  SetImageProperty(piVar5,"comment",pcVar10,param_2);\n  DestroyString(pcVar10);\n  iVar6 = ReadBlobByte(piVar5);\nLAB_0025ac68:\n  puVar8 = *ppuVar7;\n  uVar1 = puVar8[iVar6];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar6 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}" type_identifier (function_declarator "FUN_0025a9a0(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  ushort uVar1;\n  float fVar2;\n  float fVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  ushort **ppuVar7;\n  ushort *puVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  uint *puVar14;\n  int iVar15;\n  long lVar16;\n  double *pdVar17;\n  int *piVar18;\n  undefined4 uVar19;\n  int iVar20;\n  uint *puVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  undefined1 *puVar25;\n  int in_GS_OFFSET;\n  byte bVar26;\n  longdouble lVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  char *pcVar31;\n  char *local_30ac;\n  char *local_30a4;\n  int local_3084;\n  int local_3080;\n  ulong local_3078;\n  undefined4 local_3054;\n  undefined4 local_3050;\n  undefined8 local_304c;\n  undefined8 uStack_3044;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar26 = 0;\n  uStack_14 = 0x25a9a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  piVar5 = (int *)AcquireImage(param_1,param_2);\n  local_3080 = OpenBlob(param_1,piVar5,2,param_2);\n  if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }\nLAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002decd0();\nLAB_0025b6e0:\n  *pcVar31 = '\0';\n  SetImageProperty(piVar5,"comment",pcVar10,param_2);\n  DestroyString(pcVar10);\n  iVar6 = ReadBlobByte(piVar5);\nLAB_0025ac68:\n  puVar8 = *ppuVar7;\n  uVar1 = puVar8[iVar6];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar6 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "float fVar2;" primitive_type identifier ;) (declaration "float fVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "ushort **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "ushort *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "double *pdVar17;" primitive_type (pointer_declarator "*pdVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar26;" type_identifier identifier ;) (declaration "longdouble lVar27;" type_identifier identifier ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "undefined8 uVar29;" type_identifier identifier ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "char *pcVar31;" primitive_type (pointer_declarator "*pcVar31" * identifier) ;) (declaration "char *local_30ac;" primitive_type (pointer_declarator "*local_30ac" * identifier) ;) (declaration "char *local_30a4;" primitive_type (pointer_declarator "*local_30a4" * identifier) ;) (declaration "int local_3084;" primitive_type identifier ;) (declaration "int local_3080;" primitive_type identifier ;) (declaration "ulong local_3078;" type_identifier identifier ;) (declaration "undefined4 local_3054;" type_identifier identifier ;) (declaration "undefined4 local_3050;" type_identifier identifier ;) (declaration "undefined8 local_304c;" type_identifier identifier ;) (declaration "undefined8 uStack_3044;" type_identifier identifier ;) (declaration "undefined1 local_3020 [4096];" type_identifier (array_declarator "local_3020 [4096]" identifier [ number_literal ]) ;) (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 "bVar26 = 0;" (assignment_expression "bVar26 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x25a9a9;" (assignment_expression "uStack_14 = 0x25a9a9" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f4) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x31f4) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x31f4)" * (cast_expression "(int *)(param_1 + 0x31f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f4)" ( (binary_expression "param_1 + 0x31f4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f0) != 0)" ( (binary_expression "*(int *)(param_1 + 0x31f0) != 0" (pointer_expression "*(int *)(param_1 + 0x31f0)" * (cast_expression "(int *)(param_1 + 0x31f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f0)" ( (binary_expression "param_1 + 0x31f0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0)" identifier (argument_list "(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0)" ( number_literal , (string_literal ""coders/mpc.c"" " string_content ") , (string_literal ""ReadMPCImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002f75ae" & identifier) , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (expression_statement "piVar5 = (int *)AcquireImage(param_1,param_2);" (assignment_expression "piVar5 = (int *)AcquireImage(param_1,param_2)" identifier = (cast_expression "(int *)AcquireImage(param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "local_3080 = OpenBlob(param_1,piVar5,2,param_2);" (assignment_expression "local_3080 = OpenBlob(param_1,piVar5,2,param_2)" identifier = (call_expression "OpenBlob(param_1,piVar5,2,param_2)" identifier (argument_list "(param_1,piVar5,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }" if (parenthesized_expression "(local_3080 == 0)" ( (binary_expression "local_3080 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }" { (expression_statement "DestroyImageList(piVar5);" (call_expression "DestroyImageList(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }" else (compound_statement "{\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }" { (expression_statement "CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);" (call_expression "CopyMagickString(local_3020,piVar5 + 0xc6,0xffa)" identifier (argument_list "(local_3020,piVar5 + 0xc6,0xffa)" ( identifier , (binary_expression "piVar5 + 0xc6" identifier + number_literal) , number_literal ))) ;) (expression_statement "AppendImageFormat("cache",local_3020);" (call_expression "AppendImageFormat("cache",local_3020)" identifier (argument_list "("cache",local_3020)" ( (string_literal ""cache"" " string_content ") , identifier ))) ;) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }" { (expression_statement "DestroyImage(piVar5);" (call_expression "DestroyImage(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }" else (compound_statement "{\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }" { (expression_statement "local_2020[0] = 0;" (assignment_expression "local_2020[0] = 0" (subscript_expression "local_2020[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar24 = (undefined4 *)local_1020;" (assignment_expression "puVar24 = (undefined4 *)local_1020" identifier = (cast_expression "(undefined4 *)local_1020" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (for_statement "for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }" for ( (assignment_expression "iVar20 = 0x400" identifier = number_literal) ; (binary_expression "iVar20 != 0" identifier != number_literal) ; (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ) (compound_statement "{\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }" { (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24 = puVar24 + (uint)bVar26 * -2 + 1;" (assignment_expression "puVar24 = puVar24 + (uint)bVar26 * -2 + 1" identifier = (binary_expression "puVar24 + (uint)bVar26 * -2 + 1" (binary_expression "puVar24 + (uint)bVar26 * -2" identifier + (binary_expression "(uint)bVar26 * -2" (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_3054 = 0;" (assignment_expression "local_3054 = 0" identifier = number_literal) ;) (expression_statement "local_3050 = 0;" (assignment_expression "local_3050 = 0" identifier = number_literal) ;) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar4 = PTR_RelinquishMagickMemory_0041dfd8;" (assignment_expression "puVar4 = PTR_RelinquishMagickMemory_0041dfd8" identifier = identifier) ;) (do_statement "do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);" do (compound_statement "{\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      }" { (expression_statement "SetGeometryInfo(&local_304c);" (call_expression "SetGeometryInfo(&local_304c)" identifier (argument_list "(&local_304c)" ( (pointer_expression "&local_304c" & identifier) ))) ;) (expression_statement "local_30a4 = (char *)AcquireString(0);" (assignment_expression "local_30a4 = (char *)AcquireString(0)" identifier = (cast_expression "(char *)AcquireString(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireString(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "local_3078 = GetMagickSignature(0);" (assignment_expression "local_3078 = GetMagickSignature(0)" identifier = (call_expression "GetMagickSignature(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "piVar5[8] = 8;" (assignment_expression "piVar5[8] = 8" (subscript_expression "piVar5[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "piVar5[2] = 0x10;" (assignment_expression "piVar5[2] = 0x10" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = puVar8[iVar6];" (assignment_expression "uVar1 = puVar8[iVar6]" identifier = (subscript_expression "puVar8[iVar6]" identifier [ identifier ])) ;) (expression_statement "local_3084 = 0;" (assignment_expression "local_3084 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" statement_identifier : (if_statement "if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" if (parenthesized_expression "(iVar6 != 0x3a)" ( (binary_expression "iVar6 != 0x3a" identifier != number_literal) )) (compound_statement "{\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" { (labeled_statement "LAB_0025ab48:\n          pcVar31 = local_30a4;" statement_identifier : (expression_statement "pcVar31 = local_30a4;" (assignment_expression "pcVar31 = local_30a4" identifier = identifier) ;)) (if_statement "if (-1 < (short)uVar1) goto LAB_0025aca4;" if (parenthesized_expression "(-1 < (short)uVar1)" ( (binary_expression "-1 < (short)uVar1" number_literal < (cast_expression "(short)uVar1" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) )) (goto_statement "goto LAB_0025aca4;" goto statement_identifier ;)) (if_statement "if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }" if (parenthesized_expression "(iVar6 == 0x7b)" ( (binary_expression "iVar6 == 0x7b" identifier == number_literal) )) (compound_statement "{\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }" { (expression_statement "pcVar31 = (char *)AcquireString(0);" (assignment_expression "pcVar31 = (char *)AcquireString(0)" identifier = (cast_expression "(char *)AcquireString(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireString(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }" if (parenthesized_expression "(pcVar31 != (char *)0x0)" ( (binary_expression "pcVar31 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }" { (expression_statement "local_30ac = (char *)0x1000;" (assignment_expression "local_30ac = (char *)0x1000" identifier = (cast_expression "(char *)0x1000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar10 = pcVar31;" (assignment_expression "pcVar10 = pcVar31" identifier = identifier) ;) (do_statement "do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );" do (compound_statement "{\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;" if (parenthesized_expression "(iVar6 == 0x5c)" ( (binary_expression "iVar6 == 0x5c" identifier == number_literal) )) (compound_statement "{\n                  iVar6 = ReadBlobByte(piVar5);\n                }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) }) (else_clause "else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;" else (if_statement "if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;" if (parenthesized_expression "((iVar6 == -1) || (iVar6 == 0x7d))" ( (binary_expression "(iVar6 == -1) || (iVar6 == 0x7d)" (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) || (parenthesized_expression "(iVar6 == 0x7d)" ( (binary_expression "iVar6 == 0x7d" identifier == number_literal) ))) )) (goto_statement "goto LAB_0025b6e0;" goto statement_identifier ;)))) (if_statement "if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }" if (parenthesized_expression "(pcVar31 + (1 - (int)pcVar10) < local_30ac)" ( (binary_expression "pcVar31 + (1 - (int)pcVar10) < local_30ac" (binary_expression "pcVar31 + (1 - (int)pcVar10)" identifier + (parenthesized_expression "(1 - (int)pcVar10)" ( (binary_expression "1 - (int)pcVar10" number_literal - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < identifier) )) (compound_statement "{\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }" { (expression_statement "*pcVar31 = (char)iVar6;" (assignment_expression "*pcVar31 = (char)iVar6" (pointer_expression "*pcVar31" * identifier) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pcVar31 = pcVar31 + 1;" (assignment_expression "pcVar31 = pcVar31 + 1" identifier = (binary_expression "pcVar31 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }" else (compound_statement "{\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }" { (expression_statement "local_30ac = (char *)((int)local_30ac * 2);" (assignment_expression "local_30ac = (char *)((int)local_30ac * 2)" identifier = (cast_expression "(char *)((int)local_30ac * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30ac * 2)" ( (binary_expression "(int)local_30ac * 2" (cast_expression "(int)local_30ac" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "*pcVar31 = '\0';" (assignment_expression "*pcVar31 = '\0'" (pointer_expression "*pcVar31" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);" (assignment_expression "pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1)" identifier = (cast_expression "(char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1)" identifier (argument_list "(pcVar10,local_30ac + 0x1000,1)" ( identifier , (binary_expression "local_30ac + 0x1000" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pcVar10 == (char *)0x0) break;" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "sVar11 = strlen(pcVar10);" (assignment_expression "sVar11 = strlen(pcVar10)" identifier = (call_expression "strlen(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier )))) ;) (expression_statement "pcVar31 = pcVar10 + sVar11 + 1;" (assignment_expression "pcVar31 = pcVar10 + sVar11 + 1" identifier = (binary_expression "pcVar10 + sVar11 + 1" (binary_expression "pcVar10 + sVar11" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar10[sVar11] = (char)iVar6;" (assignment_expression "pcVar10[sVar11] = (char)iVar6" (subscript_expression "pcVar10[sVar11]" identifier [ identifier ]) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier ))) ;) (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" identifier = number_literal) ;) (expression_statement "uVar19 = 0x10e;" (assignment_expression "uVar19 = 0x10e" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }" if (parenthesized_expression "((uVar1 & 8) == 0)" ( (binary_expression "(uVar1 & 8) == 0" (parenthesized_expression "(uVar1 & 8)" ( (binary_expression "uVar1 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar6 = ReadBlobByte(piVar5);\n          }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) }) (else_clause "else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }" else (compound_statement "{\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }" { (expression_statement "puVar24 = (undefined4 *)local_1020;" (assignment_expression "puVar24 = (undefined4 *)local_1020" identifier = (cast_expression "(undefined4 *)local_1020" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }" if (parenthesized_expression "(iVar6 == 0x3d)" ( (binary_expression "iVar6 == 0x3d" identifier == number_literal) )) (compound_statement "{\n              iVar20 = 0x7a;\n            }" { (expression_statement "iVar20 = 0x7a;" (assignment_expression "iVar20 = 0x7a" identifier = number_literal) ;) }) (else_clause "else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }" else (compound_statement "{\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }" { (do_statement "do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);" do (compound_statement "{\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              }" { (if_statement "if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }" if (parenthesized_expression "((uint)((int)puVar24 - (int)local_1020) < 0xfff)" ( (binary_expression "(uint)((int)puVar24 - (int)local_1020) < 0xfff" (call_expression "(uint)((int)puVar24 - (int)local_1020)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar24 - (int)local_1020)" ( (binary_expression "(int)puVar24 - (int)local_1020" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_1020" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < number_literal) )) (compound_statement "{\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }" { (expression_statement "*(char *)puVar24 = (char)iVar6;" (assignment_expression "*(char *)puVar24 = (char)iVar6" (pointer_expression "*(char *)puVar24" * (cast_expression "(char *)puVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "puVar24 = (undefined4 *)((int)puVar24 + 1);" (assignment_expression "puVar24 = (undefined4 *)((int)puVar24 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar24 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + 1)" ( (binary_expression "(int)puVar24 + 1" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }" { (expression_statement "iVar20 = -2;" (assignment_expression "iVar20 = -2" identifier = number_literal) ;) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (goto_statement "goto LAB_0025abb9;" goto statement_identifier ;) })) }) while (parenthesized_expression "(iVar6 != 0x3d)" ( (binary_expression "iVar6 != 0x3d" identifier != number_literal) )) ;) (expression_statement "iVar20 = 0x7a;" (assignment_expression "iVar20 = 0x7a" identifier = number_literal) ;) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) }))) (labeled_statement "LAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;" statement_identifier : (expression_statement "*(undefined1 *)puVar24 = 0;" (assignment_expression "*(undefined1 *)puVar24 = 0" (pointer_expression "*(undefined1 *)puVar24" * (cast_expression "(undefined1 *)puVar24" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;)) (if_statement "if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }" if (parenthesized_expression "((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0)" ( (binary_expression "(*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0" (parenthesized_expression "(*(ushort *)((int)puVar8 + iVar20) & 0x2000)" ( (binary_expression "*(ushort *)((int)puVar8 + iVar20) & 0x2000" (pointer_expression "*(ushort *)((int)puVar8 + iVar20)" * (cast_expression "(ushort *)((int)puVar8 + iVar20)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + iVar20)" ( (binary_expression "(int)puVar8 + iVar20" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }" { (do_statement "do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);" do (compound_statement "{\n                iVar6 = ReadBlobByte(piVar5);\n              }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) }) while (parenthesized_expression "((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar7 + iVar6 * 2 + 1)" ( (binary_expression "(int)*ppuVar7 + iVar6 * 2 + 1" (binary_expression "(int)*ppuVar7 + iVar6 * 2" (cast_expression "(int)*ppuVar7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar7" * identifier)) + (binary_expression "iVar6 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) ;) })) (expression_statement "local_30ac = local_30a4;" (assignment_expression "local_30ac = local_30a4" identifier = identifier) ;) (if_statement "if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }" if (parenthesized_expression "(iVar6 == 0x3d)" ( (binary_expression "iVar6 == 0x3d" identifier == number_literal) )) (compound_statement "{\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "local_30a4 = (char *)0xfff;" (assignment_expression "local_30a4 = (char *)0xfff" identifier = (cast_expression "(char *)0xfff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_30ac = pcVar31;" (assignment_expression "local_30ac = pcVar31" identifier = identifier) ;) (do_statement "do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );" do (compound_statement "{\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              }" { (if_statement "if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }" if (parenthesized_expression "((iVar6 == 0x7d) || (iVar6 == -1))" ( (binary_expression "(iVar6 == 0x7d) || (iVar6 == -1)" (parenthesized_expression "(iVar6 == 0x7d)" ( (binary_expression "iVar6 == 0x7d" identifier == number_literal) )) || (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) ))) )) (compound_statement "{\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }" { (if_statement "if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }" if (parenthesized_expression "(pcVar31 == (char *)0x0)" ( (binary_expression "pcVar31 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }" { (labeled_statement "LAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";" statement_identifier : (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;)) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" identifier = number_literal) ;) (expression_statement "uVar19 = 0x14c;" (assignment_expression "uVar19 = 0x14c" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (if_statement "if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }" if (parenthesized_expression "(local_30a4 <= local_30ac + (1 - (int)pcVar31))" ( (binary_expression "local_30a4 <= local_30ac + (1 - (int)pcVar31)" identifier <= (binary_expression "local_30ac + (1 - (int)pcVar31)" identifier + (parenthesized_expression "(1 - (int)pcVar31)" ( (binary_expression "1 - (int)pcVar31" number_literal - (cast_expression "(int)pcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }" { (expression_statement "local_30a4 = (char *)((int)local_30a4 * 2);" (assignment_expression "local_30a4 = (char *)((int)local_30a4 * 2)" identifier = (cast_expression "(char *)((int)local_30a4 * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30a4 * 2)" ( (binary_expression "(int)local_30a4 * 2" (cast_expression "(int)local_30a4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "*local_30ac = '\0';" (assignment_expression "*local_30ac = '\0'" (pointer_expression "*local_30ac" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);" (assignment_expression "pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1)" identifier = (cast_expression "(char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1)" identifier (argument_list "(pcVar31,local_30a4 + 0x1000,1)" ( identifier , (binary_expression "local_30a4 + 0x1000" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;" if (parenthesized_expression "(pcVar31 == (char *)0x0)" ( (binary_expression "pcVar31 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0025b8e1;" goto statement_identifier ;)) (expression_statement "sVar11 = strlen(pcVar31);" (assignment_expression "sVar11 = strlen(pcVar31)" identifier = (call_expression "strlen(pcVar31)" identifier (argument_list "(pcVar31)" ( identifier )))) ;) (expression_statement "local_30ac = pcVar31 + sVar11;" (assignment_expression "local_30ac = pcVar31 + sVar11" identifier = (binary_expression "pcVar31 + sVar11" identifier + identifier)) ;) })) (expression_statement "*local_30ac = (char)iVar6;" (assignment_expression "*local_30ac = (char)iVar6" (pointer_expression "*local_30ac" * identifier) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "pcVar10 = local_30ac + 1;" (assignment_expression "pcVar10 = local_30ac + 1" identifier = (binary_expression "local_30ac + 1" identifier + number_literal)) ;) (if_statement "if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }" if (parenthesized_expression "((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d))" ( (binary_expression "(iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)" (parenthesized_expression "(iVar6 == 0x5c)" ( (binary_expression "iVar6 == 0x5c" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)" ( (comma_expression "iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) , (binary_expression "iVar6 == 0x7d" identifier == number_literal)) ))) )) (compound_statement "{\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }" { (expression_statement "local_30ac[1] = '}';" (assignment_expression "local_30ac[1] = '}'" (subscript_expression "local_30ac[1]" identifier [ number_literal ]) = (char_literal "'}'" ' character ')) ;) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "pcVar10 = local_30ac + 2;" (assignment_expression "pcVar10 = local_30ac + 2" identifier = (binary_expression "local_30ac + 2" identifier + number_literal)) ;) })) (expression_statement "local_30ac = pcVar10;" (assignment_expression "local_30ac = pcVar10" identifier = identifier) ;) }) while (parenthesized_expression "((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      )" ( (binary_expression "(*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)" (parenthesized_expression "(*pcVar31 == '{')" ( (binary_expression "*pcVar31 == '{'" (pointer_expression "*pcVar31" * identifier) == (char_literal "'{'" ' character ')) )) || (parenthesized_expression "((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar7 + iVar6 * 2 + 1)" ( (binary_expression "(int)*ppuVar7 + iVar6 * 2 + 1" (binary_expression "(int)*ppuVar7 + iVar6 * 2" (cast_expression "(int)*ppuVar7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar7" * identifier)) + (binary_expression "iVar6 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ;) })) (expression_statement "local_30a4 = pcVar31;" (assignment_expression "local_30a4 = pcVar31" identifier = identifier) ;) (expression_statement "*local_30ac = '\0';" (assignment_expression "*local_30ac = '\0'" (pointer_expression "*local_30ac" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }" if (parenthesized_expression "(*local_30a4 == '{')" ( (binary_expression "*local_30a4 == '{'" (pointer_expression "*local_30a4" * identifier) == (char_literal "'{'" ' character ')) )) (compound_statement "{\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }" { (expression_statement "sVar11 = strlen(local_30a4);" (assignment_expression "sVar11 = strlen(local_30a4)" identifier = (call_expression "strlen(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "CopyMagickString(local_30a4,local_30a4 + 1,sVar11);" (call_expression "CopyMagickString(local_30a4,local_30a4 + 1,sVar11)" identifier (argument_list "(local_30a4,local_30a4 + 1,sVar11)" ( identifier , (binary_expression "local_30a4 + 1" identifier + number_literal) , identifier ))) ;) })) (switch_statement "switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }" switch (parenthesized_expression "(local_1020[0])" ( (subscript_expression "local_1020[0]" identifier [ number_literal ]) )) (compound_statement "{\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }" { (case_statement "case 0x41:" case number_literal :) (case_statement "case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"alpha-trait");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"alpha-trait")" identifier = (call_expression "LocaleCompare(local_1020,"alpha-trait")" identifier (argument_list "(local_1020,"alpha-trait")" ( identifier , (string_literal ""alpha-trait"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x3a,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x3a,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x3a,0,local_30a4)" identifier (argument_list "(0x3a,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                piVar5[0xa5] = iVar20;\n              }" { (expression_statement "piVar5[0xa5] = iVar20;" (assignment_expression "piVar5[0xa5] = iVar20" (subscript_expression "piVar5[0xa5]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x42:" case number_literal :) (case_statement "case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"background-color");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"background-color")" identifier = (call_expression "LocaleCompare(local_1020,"background-color")" identifier (argument_list "(local_1020,"background-color")" ( identifier , (string_literal ""background-color"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                piVar18 = piVar5 + 0x1f;\n              }" { (expression_statement "piVar18 = piVar5 + 0x1f;" (assignment_expression "piVar18 = piVar5 + 0x1f" identifier = (binary_expression "piVar5 + 0x1f" identifier + number_literal)) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"blue-primary");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"blue-primary")" identifier = (call_expression "LocaleCompare(local_1020,"blue-primary")" identifier (argument_list "(local_1020,"blue-primary")" ( identifier , (string_literal ""blue-primary"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }" { (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 0x69) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x69) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x69)" * (cast_expression "(undefined8 *)(piVar5 + 0x69)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x69)" ( (binary_expression "piVar5 + 0x69" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }" if (parenthesized_expression "((uVar22 & 8) == 0)" ( (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }" { (expression_statement "*(undefined8 *)(piVar5 + 0x6b) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x6b) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x6b)" * (cast_expression "(undefined8 *)(piVar5 + 0x6b)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x6b)" ( (binary_expression "piVar5 + 0x6b" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }" else (compound_statement "{\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }" { (expression_statement "*(undefined8 *)(piVar5 + 0x6b) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x6b) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x6b)" * (cast_expression "(undefined8 *)(piVar5 + 0x6b)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x6b)" ( (binary_expression "piVar5 + 0x6b" identifier + number_literal) )))) = identifier) ;) }))) (break_statement "break;" break ;) })) (expression_statement "iVar20 = LocaleCompare(local_1020,"border-color");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"border-color")" identifier = (call_expression "LocaleCompare(local_1020,"border-color")" identifier (argument_list "(local_1020,"border-color")" ( identifier , (string_literal ""border-color"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "piVar18 = piVar5 + 0x33;" (assignment_expression "piVar18 = piVar5 + 0x33" identifier = (binary_expression "piVar5 + 0x33" identifier + number_literal)) ;) }))) (labeled_statement "code_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);" statement_identifier : (expression_statement "QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);" (call_expression "QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2)" identifier (argument_list "(local_30a4,0x7fffffff,piVar18,param_2)" ( identifier , number_literal , identifier , identifier ))) ;)) (break_statement "break;" break ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"class");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"class")" identifier = (call_expression "LocaleCompare(local_1020,"class")" identifier (argument_list "(local_1020,"class")" ( identifier , (string_literal ""class"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }" { (expression_statement "iVar20 = ParseCommandOption(5,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(5,0,local_30a4)" identifier = (call_expression "ParseCommandOption(5,0,local_30a4)" identifier (argument_list "(5,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  *piVar5 = iVar20;\n                }" { (expression_statement "*piVar5 = iVar20;" (assignment_expression "*piVar5 = iVar20" (pointer_expression "*piVar5" * identifier) = identifier) ;) })) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"colors");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"colors")" identifier = (call_expression "LocaleCompare(local_1020,"colors")" identifier (argument_list "(local_1020,"colors")" ( identifier , (string_literal ""colors"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[9] = uVar9;" (assignment_expression "piVar5[9] = uVar9" (subscript_expression "piVar5[9]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"colorspace");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"colorspace")" identifier = (call_expression "LocaleCompare(local_1020,"colorspace")" identifier (argument_list "(local_1020,"colorspace")" ( identifier , (string_literal ""colorspace"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }" { (expression_statement "iVar20 = ParseCommandOption(9,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(9,0,local_30a4)" identifier = (call_expression "ParseCommandOption(9,0,local_30a4)" identifier (argument_list "(9,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                      piVar5[1] = iVar20;\n                    }" { (expression_statement "piVar5[1] = iVar20;" (assignment_expression "piVar5[1] = iVar20" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }" else (compound_statement "{\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"compression");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"compression")" identifier = (call_expression "LocaleCompare(local_1020,"compression")" identifier (argument_list "(local_1020,"compression")" ( identifier , (string_literal ""compression"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }" { (expression_statement "iVar20 = ParseCommandOption(0xe,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0xe,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0xe,0,local_30a4)" identifier (argument_list "(0xe,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                        piVar5[2] = iVar20;\n                      }" { (expression_statement "piVar5[2] = iVar20;" (assignment_expression "piVar5[2] = iVar20" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }" else (compound_statement "{\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"columns");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"columns")" identifier = (call_expression "LocaleCompare(local_1020,"columns")" identifier (argument_list "(local_1020,"columns")" ( identifier , (string_literal ""columns"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[6] = uVar9;" (assignment_expression "piVar5[6] = uVar9" (subscript_expression "piVar5[6]" identifier [ number_literal ]) = identifier) ;) }))) }))) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x44:" case number_literal :) (case_statement "case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"delay");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"delay")" identifier = (call_expression "LocaleCompare(local_1020,"delay")" identifier (argument_list "(local_1020,"delay")" ( identifier , (string_literal ""delay"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x92] = uVar9;" (assignment_expression "piVar5[0x92] = uVar9" (subscript_expression "piVar5[0x92]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"depth");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"depth")" identifier = (call_expression "LocaleCompare(local_1020,"depth")" identifier (argument_list "(local_1020,"depth")" ( identifier , (string_literal ""depth"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[8] = uVar9;" (assignment_expression "piVar5[8] = uVar9" (subscript_expression "piVar5[8]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"dispose");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"dispose")" identifier = (call_expression "LocaleCompare(local_1020,"dispose")" identifier (argument_list "(local_1020,"dispose")" ( identifier , (string_literal ""dispose"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x15,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x15,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x15,0,local_30a4)" identifier (argument_list "(0x15,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                    piVar5[0x90] = iVar20;\n                  }" { (expression_statement "piVar5[0x90] = iVar20;" (assignment_expression "piVar5[0x90] = iVar20" (subscript_expression "piVar5[0x90]" identifier [ number_literal ]) = identifier) ;) })) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x45:" case number_literal :) (case_statement "case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"endian");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"endian")" identifier = (call_expression "LocaleCompare(local_1020,"endian")" identifier (argument_list "(local_1020,"endian")" ( identifier , (string_literal ""endian"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }" { (expression_statement "iVar20 = ParseCommandOption(0x18,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x18,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x18,0,local_30a4)" identifier (argument_list "(0x18,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  piVar5[0x8d] = iVar20;\n                }" { (expression_statement "piVar5[0x8d] = iVar20;" (assignment_expression "piVar5[0x8d] = iVar20" (subscript_expression "piVar5[0x8d]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"error");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"error")" identifier = (call_expression "LocaleCompare(local_1020,"error")" identifier (argument_list "(local_1020,"error")" ( identifier , (string_literal ""error"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" identifier = (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "InterpretLocaleValue(local_30a4,0)" identifier (argument_list "(local_30a4,0)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *)(piVar5 + 0xac) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0xac) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0xac)" * (cast_expression "(double *)(piVar5 + 0xac)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0xac)" ( (binary_expression "piVar5 + 0xac" identifier + number_literal) )))) = (cast_expression "(double)lVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (break_statement "break;" break ;)) (case_statement "default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;" default : (labeled_statement "LAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);" statement_identifier : (expression_statement "SetImageProperty(piVar5,local_1020,local_30a4,param_2);" (call_expression "SetImageProperty(piVar5,local_1020,local_30a4,param_2)" identifier (argument_list "(piVar5,local_1020,local_30a4,param_2)" ( identifier , identifier , identifier , identifier ))) ;)) (break_statement "break;" break ;)) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"gamma");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"gamma")" identifier = (call_expression "LocaleCompare(local_1020,"gamma")" identifier (argument_list "(local_1020,"gamma")" ( identifier , (string_literal ""gamma"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }" { (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" identifier = (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "InterpretLocaleValue(local_30a4,0)" identifier (argument_list "(local_30a4,0)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *)(piVar5 + 0x5b) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0x5b) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0x5b)" * (cast_expression "(double *)(piVar5 + 0x5b)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x5b)" ( (binary_expression "piVar5 + 0x5b" identifier + number_literal) )))) = (cast_expression "(double)lVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"green-primary");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"green-primary")" identifier = (call_expression "LocaleCompare(local_1020,"green-primary")" identifier (argument_list "(local_1020,"green-primary")" ( identifier , (string_literal ""green-primary"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 99) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 99) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 99)" * (cast_expression "(undefined8 *)(piVar5 + 99)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 99)" ( (binary_expression "piVar5 + 99" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }" if (parenthesized_expression "((uVar22 & 8) == 0)" ( (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }" { (expression_statement "*(undefined8 *)(piVar5 + 0x65) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x65) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x65)" * (cast_expression "(undefined8 *)(piVar5 + 0x65)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x65)" ( (binary_expression "piVar5 + 0x65" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }" else (compound_statement "{\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }" { (expression_statement "*(undefined8 *)(piVar5 + 0x65) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x65) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x65)" * (cast_expression "(undefined8 *)(piVar5 + 0x65)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x65)" ( (binary_expression "piVar5 + 0x65" identifier + number_literal) )))) = identifier) ;) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x49:" case number_literal :) (case_statement "case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"id");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"id")" identifier = (call_expression "LocaleCompare(local_1020,"id")" identifier (argument_list "(local_1020,"id")" ( identifier , (string_literal ""id"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }" { (expression_statement "CopyMagickString(local_2020,local_30a4,0x1000);" (call_expression "CopyMagickString(local_2020,local_30a4,0x1000)" identifier (argument_list "(local_2020,local_30a4,0x1000)" ( identifier , identifier , number_literal ))) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"iterations");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"iterations")" identifier = (call_expression "LocaleCompare(local_1020,"iterations")" identifier (argument_list "(local_1020,"iterations")" ( identifier , (string_literal ""iterations"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x95] = uVar9;" (assignment_expression "piVar5[0x95] = uVar9" (subscript_expression "piVar5[0x95]" identifier [ number_literal ]) = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x4d:" case number_literal :) (case_statement "case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"magick-signature");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"magick-signature")" identifier = (call_expression "LocaleCompare(local_1020,"magick-signature")" identifier (argument_list "(local_1020,"magick-signature")" ( identifier , (string_literal ""magick-signature"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }" { (expression_statement "local_3078 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "local_3078 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"mattecolor");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"mattecolor")" identifier = (call_expression "LocaleCompare(local_1020,"mattecolor")" identifier (argument_list "(local_1020,"mattecolor")" ( identifier , (string_literal ""mattecolor"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }" { (expression_statement "piVar18 = piVar5 + 0xcd2;" (assignment_expression "piVar18 = piVar5 + 0xcd2" identifier = (binary_expression "piVar5 + 0xcd2" identifier + number_literal)) ;) (goto_statement "goto code_r0x0025b456;" goto statement_identifier ;) })) (expression_statement "iVar20 = LocaleCompare(local_1020,"maximum-error");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"maximum-error")" identifier = (call_expression "LocaleCompare(local_1020,"maximum-error")" identifier (argument_list "(local_1020,"maximum-error")" ( identifier , (string_literal ""maximum-error"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }" { (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" identifier = (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "InterpretLocaleValue(local_30a4,0)" identifier (argument_list "(local_30a4,0)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *)(piVar5 + 0xb0) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0xb0) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0xb0)" * (cast_expression "(double *)(piVar5 + 0xb0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0xb0)" ( (binary_expression "piVar5 + 0xb0" identifier + number_literal) )))) = (cast_expression "(double)lVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"mean-error");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"mean-error")" identifier = (call_expression "LocaleCompare(local_1020,"mean-error")" identifier (argument_list "(local_1020,"mean-error")" ( identifier , (string_literal ""mean-error"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }" { (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" identifier = (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "InterpretLocaleValue(local_30a4,0)" identifier (argument_list "(local_30a4,0)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *)(piVar5 + 0xae) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0xae) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0xae)" * (cast_expression "(double *)(piVar5 + 0xae)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0xae)" ( (binary_expression "piVar5 + 0xae" identifier + number_literal) )))) = (cast_expression "(double)lVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }" else (compound_statement "{\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"montage");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"montage")" identifier = (call_expression "LocaleCompare(local_1020,"montage")" identifier (argument_list "(local_1020,"montage")" ( identifier , (string_literal ""montage"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "CloneString(piVar5 + 0x78,local_30a4);" (call_expression "CloneString(piVar5 + 0x78,local_30a4)" identifier (argument_list "(piVar5 + 0x78,local_30a4)" ( (binary_expression "piVar5 + 0x78" identifier + number_literal) , identifier ))) ;) }))) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x4e:" case number_literal :) (case_statement "case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"number-channels");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"number-channels")" identifier = (call_expression "LocaleCompare(local_1020,"number-channels")" identifier (argument_list "(local_1020,"number-channels")" ( identifier , (string_literal ""number-channels"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0xa6] = uVar9;" (assignment_expression "piVar5[0xa6] = uVar9" (subscript_expression "piVar5[0xa6]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"number-meta-channels");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"number-meta-channels")" identifier = (call_expression "LocaleCompare(local_1020,"number-meta-channels")" identifier (argument_list "(local_1020,"number-meta-channels")" ( identifier , (string_literal ""number-meta-channels"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0xa7] = uVar9;" (assignment_expression "piVar5[0xa7] = uVar9" (subscript_expression "piVar5[0xa7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }" if (parenthesized_expression "(0x40 < uVar9)" ( (binary_expression "0x40 < uVar9" number_literal < identifier) )) (compound_statement "{\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }" { (if_statement "if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }" { (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7)" identifier (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier ))) ;) (expression_statement "pcVar31 = "ImproperImageHeader";" (assignment_expression "pcVar31 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x245;" (assignment_expression "uVar19 = 0x245" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) })) }))) (break_statement "break;" break ;)) (case_statement "case 0x4f:" case number_literal :) (case_statement "case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"orientation");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"orientation")" identifier = (call_expression "LocaleCompare(local_1020,"orientation")" identifier (argument_list "(local_1020,"orientation")" ( identifier , (string_literal ""orientation"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x36,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x36,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x36,0,local_30a4)" identifier (argument_list "(0x36,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                piVar5[4] = iVar20;\n              }" { (expression_statement "piVar5[4] = iVar20;" (assignment_expression "piVar5[4] = iVar20" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x50:" case number_literal :) (case_statement "case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"page");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"page")" identifier = (call_expression "LocaleCompare(local_1020,"page")" identifier (argument_list "(local_1020,"page")" ( identifier , (string_literal ""page"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }" { (expression_statement "uVar19 = GetPageGeometry(local_30a4);" (assignment_expression "uVar19 = GetPageGeometry(local_30a4)" identifier = (call_expression "GetPageGeometry(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);" (call_expression "ParseAbsoluteGeometry(uVar19,piVar5 + 0x80)" identifier (argument_list "(uVar19,piVar5 + 0x80)" ( identifier , (binary_expression "piVar5 + 0x80" identifier + number_literal) ))) ;) (expression_statement "DestroyString(uVar19);" (call_expression "DestroyString(uVar19)" identifier (argument_list "(uVar19)" ( identifier ))) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"pixel-intensity");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"pixel-intensity")" identifier = (call_expression "LocaleCompare(local_1020,"pixel-intensity")" identifier (argument_list "(local_1020,"pixel-intensity")" ( identifier , (string_literal ""pixel-intensity"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }" { (expression_statement "iVar20 = ParseCommandOption(0x38,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x38,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x38,0,local_30a4)" identifier (argument_list "(0x38,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                    piVar5[0x8b] = iVar20;\n                  }" { (expression_statement "piVar5[0x8b] = iVar20;" (assignment_expression "piVar5[0x8b] = iVar20" (subscript_expression "piVar5[0x8b]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"profile");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"profile")" identifier = (call_expression "LocaleCompare(local_1020,"profile")" identifier (argument_list "(local_1020,"profile")" ( identifier , (string_literal ""profile"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (if_statement "if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }" if (parenthesized_expression "(local_3084 == 0)" ( (binary_expression "local_3084 == 0" identifier == number_literal) )) (compound_statement "{\n                    local_3084 = NewLinkedList(0);\n                  }" { (expression_statement "local_3084 = NewLinkedList(0);" (assignment_expression "local_3084 = NewLinkedList(0)" identifier = (call_expression "NewLinkedList(0)" identifier (argument_list "(0)" ( number_literal )))) ;) })) (expression_statement "uVar19 = AcquireString(local_30a4);" (assignment_expression "uVar19 = AcquireString(local_30a4)" identifier = (call_expression "AcquireString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "AppendValueToLinkedList(local_3084,uVar19);" (call_expression "AppendValueToLinkedList(local_3084,uVar19)" identifier (argument_list "(local_3084,uVar19)" ( identifier , identifier ))) ;) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x51:" case number_literal :) (case_statement "case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"quality");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"quality")" identifier = (call_expression "LocaleCompare(local_1020,"quality")" identifier (argument_list "(local_1020,"quality")" ( identifier , (string_literal ""quality"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[3] = uVar9;" (assignment_expression "piVar5[3] = uVar9" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x52:" case number_literal :) (case_statement "case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"red-primary");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"red-primary")" identifier = (call_expression "LocaleCompare(local_1020,"red-primary")" identifier (argument_list "(local_1020,"red-primary")" ( identifier , (string_literal ""red-primary"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }" { (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 0x5d) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x5d) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x5d)" * (cast_expression "(undefined8 *)(piVar5 + 0x5d)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x5d)" ( (binary_expression "piVar5 + 0x5d" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }" if (parenthesized_expression "((uVar22 & 8) != 0)" ( (binary_expression "(uVar22 & 8) != 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }" { (expression_statement "*(undefined8 *)(piVar5 + 0x5f) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x5f) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x5f)" * (cast_expression "(undefined8 *)(piVar5 + 0x5f)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x5f)" ( (binary_expression "piVar5 + 0x5f" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"rendering-intent");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"rendering-intent")" identifier = (call_expression "LocaleCompare(local_1020,"rendering-intent")" identifier (argument_list "(local_1020,"rendering-intent")" ( identifier , (string_literal ""rendering-intent"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }" { (expression_statement "iVar20 = ParseCommandOption(0x23,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x23,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x23,0,local_30a4)" identifier (argument_list "(0x23,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                    piVar5[0x75] = iVar20;\n                  }" { (expression_statement "piVar5[0x75] = iVar20;" (assignment_expression "piVar5[0x75] = iVar20" (subscript_expression "piVar5[0x75]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"resolution");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"resolution")" identifier = (call_expression "LocaleCompare(local_1020,"resolution")" identifier (argument_list "(local_1020,"resolution")" ( identifier , (string_literal ""resolution"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }" { (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 0x7c) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x7c) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x7c)" * (cast_expression "(undefined8 *)(piVar5 + 0x7c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x7c)" ( (binary_expression "piVar5 + 0x7c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }" if (parenthesized_expression "((uVar22 & 8) == 0)" ( (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }" { (expression_statement "*(undefined8 *)(piVar5 + 0x7e) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x7e) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x7e)" * (cast_expression "(undefined8 *)(piVar5 + 0x7e)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x7e)" ( (binary_expression "piVar5 + 0x7e" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }" else (compound_statement "{\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }" { (expression_statement "*(undefined8 *)(piVar5 + 0x7e) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x7e) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x7e)" * (cast_expression "(undefined8 *)(piVar5 + 0x7e)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x7e)" ( (binary_expression "piVar5 + 0x7e" identifier + number_literal) )))) = identifier) ;) }))) }) (else_clause "else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }" else (compound_statement "{\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }" { (expression_statement "iVar20 = LocaleCompare(local_1020,&UNK_003440a8);" (assignment_expression "iVar20 = LocaleCompare(local_1020,&UNK_003440a8)" identifier = (call_expression "LocaleCompare(local_1020,&UNK_003440a8)" identifier (argument_list "(local_1020,&UNK_003440a8)" ( identifier , (pointer_expression "&UNK_003440a8" & identifier) )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[7] = uVar9;" (assignment_expression "piVar5[7] = uVar9" (subscript_expression "piVar5[7]" identifier [ number_literal ]) = identifier) ;) }))) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x53:" case number_literal :) (case_statement "case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"scene");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"scene")" identifier = (call_expression "LocaleCompare(local_1020,"scene")" identifier (argument_list "(local_1020,"scene")" ( identifier , (string_literal ""scene"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x91] = uVar9;" (assignment_expression "piVar5[0x91] = uVar9" (subscript_expression "piVar5[0x91]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x54:" case number_literal :) (case_statement "case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"ticks-per-second");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"ticks-per-second")" identifier = (call_expression "LocaleCompare(local_1020,"ticks-per-second")" identifier (argument_list "(local_1020,"ticks-per-second")" ( identifier , (string_literal ""ticks-per-second"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }" { (expression_statement "lVar16 = strtol(local_30a4,(char **)0x0,10);" (assignment_expression "lVar16 = strtol(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtol(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x94] = lVar16;" (assignment_expression "piVar5[0x94] = lVar16" (subscript_expression "piVar5[0x94]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"tile-offset");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"tile-offset")" identifier = (call_expression "LocaleCompare(local_1020,"tile-offset")" identifier (argument_list "(local_1020,"tile-offset")" ( identifier , (string_literal ""tile-offset"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }" { (expression_statement "uVar19 = GetPageGeometry(local_30a4);" (assignment_expression "uVar19 = GetPageGeometry(local_30a4)" identifier = (call_expression "GetPageGeometry(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);" (call_expression "ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a)" identifier (argument_list "(uVar19,piVar5 + 0x9a)" ( identifier , (binary_expression "piVar5 + 0x9a" identifier + number_literal) ))) ;) (expression_statement "DestroyString(uVar19);" (call_expression "DestroyString(uVar19)" identifier (argument_list "(uVar19)" ( identifier ))) ;) })) (expression_statement "iVar20 = LocaleCompare(local_1020,"type");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"type")" identifier = (call_expression "LocaleCompare(local_1020,"type")" identifier (argument_list "(local_1020,"type")" ( identifier , (string_literal ""type"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x49,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x49,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x49,0,local_30a4)" identifier (argument_list "(0x49,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  piVar5[0x9e] = iVar20;\n                }" { (expression_statement "piVar5[0x9e] = iVar20;" (assignment_expression "piVar5[0x9e] = iVar20" (subscript_expression "piVar5[0x9e]" identifier [ number_literal ]) = identifier) ;) })) }))) (break_statement "break;" break ;)) (case_statement "case 0x55:" case number_literal :) (case_statement "case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"units");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"units")" identifier = (call_expression "LocaleCompare(local_1020,"units")" identifier (argument_list "(local_1020,"units")" ( identifier , (string_literal ""units"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x41,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x41,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x41,0,local_30a4)" identifier (argument_list "(0x41,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                piVar5[0x77] = iVar20;\n              }" { (expression_statement "piVar5[0x77] = iVar20;" (assignment_expression "piVar5[0x77] = iVar20" (subscript_expression "piVar5[0x77]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x57:" case number_literal :) (case_statement "case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"white-point");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"white-point")" identifier = (call_expression "LocaleCompare(local_1020,"white-point")" identifier (argument_list "(local_1020,"white-point")" ( identifier , (string_literal ""white-point"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 0x6f) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x6f) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x6f)" * (cast_expression "(undefined8 *)(piVar5 + 0x6f)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x6f)" ( (binary_expression "piVar5 + 0x6f" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" if (parenthesized_expression "((uVar22 & 8) == 0)" ( (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }" { (expression_statement "*(undefined8 *)(piVar5 + 0x71) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x71) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x71)" * (cast_expression "(undefined8 *)(piVar5 + 0x71)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x71)" ( (binary_expression "piVar5 + 0x71" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" else (compound_statement "{\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" { (expression_statement "*(undefined8 *)(piVar5 + 0x71) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x71) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x71)" * (cast_expression "(undefined8 *)(piVar5 + 0x71)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x71)" ( (binary_expression "piVar5 + 0x71" identifier + number_literal) )))) = identifier) ;) })))) })) }))) (goto_statement "goto LAB_0025ac68;" goto statement_identifier ;) }))) (labeled_statement "LAB_0025aca4:\n        DestroyString(local_30a4);" statement_identifier : (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier ))) ;)) (expression_statement "ReadBlobByte(piVar5);" (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "iVar6 = LocaleCompare(local_2020,"MagickPixelCache");" (assignment_expression "iVar6 = LocaleCompare(local_2020,"MagickPixelCache")" identifier = (call_expression "LocaleCompare(local_2020,"MagickPixelCache")" identifier (argument_list "(local_2020,"MagickPixelCache")" ( identifier , (string_literal ""MagickPixelCache"" " string_content ") )))) ;) (if_statement "if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }" if (parenthesized_expression "(((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U))" ( (binary_expression "((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)" (parenthesized_expression "((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))))))))" ( (binary_expression "(((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))" (parenthesized_expression "(((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0))" ( (binary_expression "((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)" (parenthesized_expression "((iVar6 != 0) || (*piVar5 == 0))" ( (binary_expression "(iVar6 != 0) || (*piVar5 == 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) || (parenthesized_expression "(*piVar5 == 0)" ( (binary_expression "*piVar5 == 0" (pointer_expression "*piVar5" * identifier) == number_literal) ))) )) || (parenthesized_expression "(piVar5[2] == 0)" ( (binary_expression "piVar5[2] == 0" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) ))) )) || (parenthesized_expression "(((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))" ( (parenthesized_expression "((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))))))" ( (binary_expression "(piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))" (parenthesized_expression "(piVar5[6] == 0 || (piVar5[7] == 0))" ( (binary_expression "piVar5[6] == 0 || (piVar5[7] == 0)" (binary_expression "piVar5[6] == 0" (subscript_expression "piVar5[6]" identifier [ number_literal ]) == number_literal) || (parenthesized_expression "(piVar5[7] == 0)" ( (binary_expression "piVar5[7] == 0" (subscript_expression "piVar5[7]" identifier [ number_literal ]) == number_literal) ))) )) || (parenthesized_expression "((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))" ( (parenthesized_expression "(0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))))" ( (binary_expression "0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))" (binary_expression "0x40 < (uint)piVar5[0xa6]" number_literal < (cast_expression "(uint)piVar5[0xa6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[0xa6]" identifier [ number_literal ]))) || (parenthesized_expression "((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))" ( (parenthesized_expression "(0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))" ( (binary_expression "0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))" (binary_expression "0x38 < (uint)piVar5[0xa7]" number_literal < (cast_expression "(uint)piVar5[0xa7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[0xa7]" identifier [ number_literal ]))) || (parenthesized_expression "(0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))" ( (binary_expression "0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])" number_literal < (call_expression "(uint)(piVar5[0xa6] + piVar5[0xa7])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar5[0xa6] + piVar5[0xa7])" ( (binary_expression "piVar5[0xa6] + piVar5[0xa7]" (subscript_expression "piVar5[0xa6]" identifier [ number_literal ]) + (subscript_expression "piVar5[0xa7]" identifier [ number_literal ])) )))) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "(0x3f < piVar5[8] - 1U)" ( (binary_expression "0x3f < piVar5[8] - 1U" number_literal < (binary_expression "piVar5[8] - 1U" (subscript_expression "piVar5[8]" identifier [ number_literal ]) - number_literal)) ))) )) (compound_statement "{\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }" { (if_statement "if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" { (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar31 = "ImproperImageHeader";" (assignment_expression "pcVar31 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x31d;" (assignment_expression "uVar19 = 0x31d" identifier = number_literal) ;) (labeled_statement "LAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0)" ( identifier , (string_literal ""coders/mpc.c"" " string_content ") , (string_literal ""ReadMPCImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "DestroyImageList(piVar5);" (call_expression "DestroyImageList(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0025b79c;" goto statement_identifier ;) })) (expression_statement "uVar9 = GetMagickSignature(0);" (assignment_expression "uVar9 = GetMagickSignature(0)" identifier = (call_expression "GetMagickSignature(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (if_statement "if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(local_3078 != uVar9)" ( (binary_expression "local_3078 != uVar9" identifier != identifier) )) (compound_statement "{\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }" { (if_statement "if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" { (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar31 = "IncompatibleAPI";" (assignment_expression "pcVar31 = "IncompatibleAPI"" identifier = (string_literal ""IncompatibleAPI"" " string_content ")) ;) (expression_statement "uVar30 = 0x1bd;" (assignment_expression "uVar30 = 0x1bd" identifier = number_literal) ;) (expression_statement "uVar19 = 0x323;" (assignment_expression "uVar19 = 0x323" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }" if (parenthesized_expression "(piVar5[0x78] != 0)" ( (binary_expression "piVar5[0x78] != 0" (subscript_expression "piVar5[0x78]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "puVar12 = (undefined1 *)AcquireString(0);" (assignment_expression "puVar12 = (undefined1 *)AcquireString(0)" identifier = (cast_expression "(undefined1 *)AcquireString(0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireString(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "piVar5[0x79] = (int)puVar12;" (assignment_expression "piVar5[0x79] = (int)puVar12" (subscript_expression "piVar5[0x79]" identifier [ number_literal ]) = (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_30ac = (char *)0x1000;" (assignment_expression "local_30ac = (char *)0x1000" identifier = (cast_expression "(char *)0x1000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);" do (compound_statement "{\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          }" { (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (expression_statement "puVar25 = puVar12;" (assignment_expression "puVar25 = puVar12" identifier = identifier) ;) (if_statement "if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }" if (parenthesized_expression "(local_30ac <= iVar6 + 0x1000U)" ( (binary_expression "local_30ac <= iVar6 + 0x1000U" identifier <= (binary_expression "iVar6 + 0x1000U" identifier + number_literal)) )) (compound_statement "{\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }" { (expression_statement "local_30ac = (char *)((int)local_30ac * 2);" (assignment_expression "local_30ac = (char *)((int)local_30ac * 2)" identifier = (cast_expression "(char *)((int)local_30ac * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30ac * 2)" ( (binary_expression "(int)local_30ac * 2" (cast_expression "(int)local_30ac" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);" (assignment_expression "iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1)" identifier = (call_expression "ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1)" identifier (argument_list "(piVar5[0x79],(int)local_30ac + 0x1000,1)" ( (subscript_expression "piVar5[0x79]" identifier [ number_literal ]) , (binary_expression "(int)local_30ac + 0x1000" (cast_expression "(int)local_30ac" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x79] = iVar20;" (assignment_expression "piVar5[0x79] = iVar20" (subscript_expression "piVar5[0x79]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }" { (if_statement "if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }" { (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar31 = "UnableToReadImageData";" (assignment_expression "pcVar31 = "UnableToReadImageData"" identifier = (string_literal ""UnableToReadImageData"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x341;" (assignment_expression "uVar19 = 0x341" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "puVar25 = (undefined1 *)(iVar20 + iVar6);" (assignment_expression "puVar25 = (undefined1 *)(iVar20 + iVar6)" identifier = (cast_expression "(undefined1 *)(iVar20 + iVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar6)" ( (binary_expression "iVar20 + iVar6" identifier + identifier) )))) ;) })) (expression_statement "iVar20 = ReadBlobByte(piVar5);" (assignment_expression "iVar20 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar20 == -1) break;" if (parenthesized_expression "(iVar20 == -1)" ( (binary_expression "iVar20 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar12 = puVar25 + 1;" (assignment_expression "puVar12 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar25 = (char)iVar20;" (assignment_expression "*puVar25 = (char)iVar20" (pointer_expression "*puVar25" * identifier) = (cast_expression "(char)iVar20" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) ;) })) (if_statement "if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }" { (expression_statement "ResetLinkedListIterator(local_3084);" (call_expression "ResetLinkedListIterator(local_3084)" identifier (argument_list "(local_3084)" ( identifier ))) ;) (expression_statement "local_30ac = (char *)GetNextValueInLinkedList(local_3084);" (assignment_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084)" identifier = (cast_expression "(char *)GetNextValueInLinkedList(local_3084)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextValueInLinkedList(local_3084)" identifier (argument_list "(local_3084)" ( identifier ))))) ;) (if_statement "if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }" if (parenthesized_expression "(local_30ac != (char *)0x0)" ( (binary_expression "local_30ac != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }" { (while_statement "while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }" { (expression_statement "uVar22 = ReadBlobMSBLong(piVar5);" (assignment_expression "uVar22 = ReadBlobMSBLong(piVar5)" identifier = (call_expression "ReadBlobMSBLong(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "uVar28 = GetBlobSize(piVar5);" (assignment_expression "uVar28 = GetBlobSize(piVar5)" identifier = (call_expression "GetBlobSize(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;" if (parenthesized_expression "((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0))" ( (binary_expression "(((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)" (parenthesized_expression "(((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22))" ( (binary_expression "((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)" (parenthesized_expression "((int)((ulonglong)uVar28 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar28 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar28 < uVar22)" ( (binary_expression "(uint)uVar28 < uVar22" (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) )) || (parenthesized_expression "(iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)" ( (comma_expression "iVar6 = AcquireStringInfo(uVar22), iVar6 == 0" (assignment_expression "iVar6 = AcquireStringInfo(uVar22)" identifier = (call_expression "AcquireStringInfo(uVar22)" identifier (argument_list "(uVar22)" ( identifier )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0025ba84;" goto statement_identifier ;)) (expression_statement "uVar19 = GetStringInfoDatum(iVar6);" (assignment_expression "uVar19 = GetStringInfoDatum(iVar6)" identifier = (call_expression "GetStringInfoDatum(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "uVar13 = ReadBlob(piVar5,uVar22,uVar19);" (assignment_expression "uVar13 = ReadBlob(piVar5,uVar22,uVar19)" identifier = (call_expression "ReadBlob(piVar5,uVar22,uVar19)" identifier (argument_list "(piVar5,uVar22,uVar19)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar22 != uVar13) break;" if (parenthesized_expression "(uVar22 != uVar13)" ( (binary_expression "uVar22 != uVar13" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);" (assignment_expression "local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2)" identifier = (call_expression "SetImageProfile(piVar5,local_30ac,iVar6,param_2)" identifier (argument_list "(piVar5,local_30ac,iVar6,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "DestroyStringInfo(iVar6);" (call_expression "DestroyStringInfo(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;" if (parenthesized_expression "((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0))" ( (binary_expression "(local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)" (parenthesized_expression "(local_3080 == 0)" ( (binary_expression "local_3080 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)" ( (comma_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0" (assignment_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084)" identifier = (cast_expression "(char *)GetNextValueInLinkedList(local_3084)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextValueInLinkedList(local_3084)" identifier (argument_list "(local_3084)" ( identifier ))))) , (binary_expression "local_30ac == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0025ba84;" goto statement_identifier ;)) })) (expression_statement "DestroyStringInfo(iVar6);" (call_expression "DestroyStringInfo(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) })) (labeled_statement "LAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);" statement_identifier : (expression_statement "DestroyLinkedList(local_3084,puVar4);" (call_expression "DestroyLinkedList(local_3084,puVar4)" identifier (argument_list "(local_3084,puVar4)" ( identifier , identifier ))) ;)) })) (expression_statement "iVar6 = GetImageQuantumDepth(piVar5,0);" (assignment_expression "iVar6 = GetImageQuantumDepth(piVar5,0)" identifier = (call_expression "GetImageQuantumDepth(piVar5,0)" identifier (argument_list "(piVar5,0)" ( identifier , number_literal )))) ;) (if_statement "if (*piVar5 != 2) goto LAB_0025ad8a;" if (parenthesized_expression "(*piVar5 != 2)" ( (binary_expression "*piVar5 != 2" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0025ad8a;" goto statement_identifier ;)) (expression_statement "uVar22 = (uint)(iVar6 * 3) >> 3;" (assignment_expression "uVar22 = (uint)(iVar6 * 3) >> 3" identifier = (binary_expression "(uint)(iVar6 * 3) >> 3" (call_expression "(uint)(iVar6 * 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 * 3)" ( (binary_expression "iVar6 * 3" identifier * number_literal) ))) >> number_literal)) ;) (expression_statement "iVar20 = piVar5[9];" (assignment_expression "iVar20 = piVar5[9]" identifier = (subscript_expression "piVar5[9]" identifier [ number_literal ])) ;) (expression_statement "uVar28 = GetBlobSize(piVar5);" (assignment_expression "uVar28 = GetBlobSize(piVar5)" identifier = (call_expression "GetBlobSize(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20))" ( (binary_expression "((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)" (parenthesized_expression "((int)((ulonglong)uVar28 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar28 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar28 < uVar22 * iVar20)" ( (binary_expression "(uint)uVar28 < uVar22 * iVar20" (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "uVar22 * iVar20" identifier * identifier)) ))) )) (compound_statement "{\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }" { (expression_statement "pcVar31 = "InsufficientImageDataInFile";" (assignment_expression "pcVar31 = "InsufficientImageDataInFile"" identifier = (string_literal ""InsufficientImageDataInFile"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x37d;" (assignment_expression "uVar19 = 0x37d" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);" (assignment_expression "iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50)" identifier = (call_expression "AcquireQuantumMemory(piVar5[9] + 1,0x50)" identifier (argument_list "(piVar5[9] + 1,0x50)" ( (binary_expression "piVar5[9] + 1" (subscript_expression "piVar5[9]" identifier [ number_literal ]) + number_literal) , number_literal )))) ;) (expression_statement "piVar5[10] = iVar20;" (assignment_expression "piVar5[10] = iVar20" (subscript_expression "piVar5[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }" { (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" identifier = number_literal) ;) (expression_statement "uVar19 = 0x381;" (assignment_expression "uVar19 = 0x381" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(piVar5[9] != 0)" ( (binary_expression "piVar5[9] != 0" (subscript_expression "piVar5[9]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }" { (expression_statement "puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);" (assignment_expression "puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22)" identifier = (cast_expression "(uint *)AcquireQuantumMemory(piVar5[9],uVar22)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(piVar5[9],uVar22)" identifier (argument_list "(piVar5[9],uVar22)" ( (subscript_expression "piVar5[9]" identifier [ number_literal ]) , identifier ))))) ;) (if_statement "if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }" if (parenthesized_expression "(puVar14 == (uint *)0x0)" ( (binary_expression "puVar14 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }" { (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" identifier = number_literal) ;) (expression_statement "uVar19 = 0x38a;" (assignment_expression "uVar19 = 0x38a" identifier = number_literal) ;) }) (else_clause "else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }" else (compound_statement "{\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }" { (expression_statement "iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);" (assignment_expression "iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14)" identifier = (call_expression "ReadBlob(piVar5,uVar22 * piVar5[9],puVar14)" identifier (argument_list "(piVar5,uVar22 * piVar5[9],puVar14)" ( identifier , (binary_expression "uVar22 * piVar5[9]" identifier * (subscript_expression "piVar5[9]" identifier [ number_literal ])) , identifier )))) ;) (expression_statement "fVar3 = DAT_002e814c;" (assignment_expression "fVar3 = DAT_002e814c" identifier = identifier) ;) (expression_statement "fVar2 = DAT_002e8148;" (assignment_expression "fVar2 = DAT_002e8148" identifier = identifier) ;) (expression_statement "iVar20 = piVar5[9];" (assignment_expression "iVar20 = piVar5[9]" identifier = (subscript_expression "piVar5[9]" identifier [ number_literal ])) ;) (if_statement "if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }" if (parenthesized_expression "(uVar22 * iVar20 - iVar15 == 0)" ( (binary_expression "uVar22 * iVar20 - iVar15 == 0" (binary_expression "uVar22 * iVar20 - iVar15" (binary_expression "uVar22 * iVar20" identifier * identifier) - identifier) == number_literal) )) (compound_statement "{\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }" { (if_statement "if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" if (parenthesized_expression "(iVar6 == 0x10)" ( (binary_expression "iVar6 == 0x10" identifier == number_literal) )) (compound_statement "{\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }" { (if_statement "if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }" { (expression_statement "pdVar17 = (double *)(piVar5[10] + 0x20);" (assignment_expression "pdVar17 = (double *)(piVar5[10] + 0x20)" identifier = (cast_expression "(double *)(piVar5[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[10] + 0x20)" ( (binary_expression "piVar5[10] + 0x20" (subscript_expression "piVar5[10]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "puVar21 = puVar14;" (assignment_expression "puVar21 = puVar14" identifier = identifier) ;) (do_statement "do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);" do (compound_statement "{\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  }" { (expression_statement "puVar23 = (uint *)((int)puVar21 + 6);" (assignment_expression "puVar23 = (uint *)((int)puVar21 + 6)" identifier = (cast_expression "(uint *)((int)puVar21 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 6)" ( (binary_expression "(int)puVar21 + 6" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);" (assignment_expression "*pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" (pointer_expression "*pdVar17" * identifier) = (cast_expression "(double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" ( (binary_expression "(ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8" (binary_expression "(ushort)*puVar21 << 8" (binary_expression "(ushort)*puVar21" (parenthesized_expression "(ushort)" ( identifier )) * identifier) << number_literal) | (binary_expression "(ushort)*puVar21 >> 8" (binary_expression "(ushort)*puVar21" (parenthesized_expression "(ushort)" ( identifier )) * identifier) >> number_literal)) ))))) ;) (expression_statement "pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);" (assignment_expression "pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) = (cast_expression "(double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" ( (binary_expression "*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8" (binary_expression "*(ushort *)((int)puVar21 + 2) << 8" (pointer_expression "*(ushort *)((int)puVar21 + 2)" * (cast_expression "(ushort *)((int)puVar21 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 2)" ( (binary_expression "(int)puVar21 + 2" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)((int)puVar21 + 2) >> 8" (pointer_expression "*(ushort *)((int)puVar21 + 2)" * (cast_expression "(ushort *)((int)puVar21 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 2)" ( (binary_expression "(int)puVar21 + 2" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal)) ))))) ;) (expression_statement "pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;" (assignment_expression "pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) = (cast_expression "(double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" ( (binary_expression "(ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8" (binary_expression "(ushort)puVar21[1] << 8" (cast_expression "(ushort)puVar21[1]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) << number_literal) | (binary_expression "(ushort)puVar21[1] >> 8" (cast_expression "(ushort)puVar21[1]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) >> number_literal)) ))))) ;) (expression_statement "pdVar17 = pdVar17 + 10;" (assignment_expression "pdVar17 = pdVar17 + 10" identifier = (binary_expression "pdVar17 + 10" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "((uint *)((int)puVar14 + iVar20 * 6) != puVar23)" ( (binary_expression "(uint *)((int)puVar14 + iVar20 * 6) != puVar23" (cast_expression "(uint *)((int)puVar14 + iVar20 * 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + iVar20 * 6)" ( (binary_expression "(int)puVar14 + iVar20 * 6" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar20 * 6" identifier * number_literal)) ))) != identifier) )) ;) })) }) (else_clause "else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" else (if_statement "if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" if (parenthesized_expression "(iVar6 == 0x20)" ( (binary_expression "iVar6 == 0x20" identifier == number_literal) )) (compound_statement "{\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }" { (if_statement "if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }" { (expression_statement "pdVar17 = (double *)(piVar5[10] + 0x20);" (assignment_expression "pdVar17 = (double *)(piVar5[10] + 0x20)" identifier = (cast_expression "(double *)(piVar5[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[10] + 0x20)" ( (binary_expression "piVar5[10] + 0x20" (subscript_expression "piVar5[10]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "puVar21 = puVar14;" (assignment_expression "puVar21 = puVar14" identifier = identifier) ;) (do_statement "do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);" do (compound_statement "{\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  }" { (expression_statement "uVar22 = *puVar21;" (assignment_expression "uVar22 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "puVar23 = puVar21 + 3;" (assignment_expression "puVar23 = puVar21 + 3" identifier = (binary_expression "puVar21 + 3" identifier + number_literal)) ;) (expression_statement "*pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);" (assignment_expression "*pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (pointer_expression "*pdVar17" * identifier) = (cast_expression "(double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (binary_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2" (cast_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal)) ))) / identifier) )))) ;) (expression_statement "uVar22 = puVar21[1];" (assignment_expression "uVar22 = puVar21[1]" identifier = (subscript_expression "puVar21[1]" identifier [ number_literal ])) ;) (expression_statement "pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);" (assignment_expression "pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (binary_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2" (cast_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal)) ))) / identifier) )))) ;) (expression_statement "uVar22 = puVar21[2];" (assignment_expression "uVar22 = puVar21[2]" identifier = (subscript_expression "puVar21[2]" identifier [ number_literal ])) ;) (expression_statement "pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);" (assignment_expression "pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (binary_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2" (cast_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal)) ))) / identifier) )))) ;) (expression_statement "pdVar17 = pdVar17 + 10;" (assignment_expression "pdVar17 = pdVar17 + 10" identifier = (binary_expression "pdVar17 + 10" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "(puVar23 != puVar14 + iVar20 * 3)" ( (binary_expression "puVar23 != puVar14 + iVar20 * 3" identifier != (binary_expression "puVar14 + iVar20 * 3" identifier + (binary_expression "iVar20 * 3" identifier * number_literal))) )) ;) })) }) (else_clause "else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" else (compound_statement "{\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" { (if_statement "if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }" if (parenthesized_expression "(iVar6 != 8)" ( (binary_expression "iVar6 != 8" identifier != number_literal) )) (compound_statement "{\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }" { (expression_statement "RelinquishMagickMemory(puVar14);" (call_expression "RelinquishMagickMemory(puVar14)" identifier (argument_list "(puVar14)" ( identifier ))) ;) (expression_statement "pcVar31 = "ImageDepthNotSupported";" (assignment_expression "pcVar31 = "ImageDepthNotSupported"" identifier = (string_literal ""ImageDepthNotSupported"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x398;" (assignment_expression "uVar19 = 0x398" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }" { (expression_statement "pdVar17 = (double *)(piVar5[10] + 0x20);" (assignment_expression "pdVar17 = (double *)(piVar5[10] + 0x20)" identifier = (cast_expression "(double *)(piVar5[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[10] + 0x20)" ( (binary_expression "piVar5[10] + 0x20" (subscript_expression "piVar5[10]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "puVar21 = puVar14;" (assignment_expression "puVar21 = puVar14" identifier = identifier) ;) (do_statement "do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);" do (compound_statement "{\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  }" { (expression_statement "puVar23 = (uint *)((int)puVar21 + 3);" (assignment_expression "puVar23 = (uint *)((int)puVar21 + 3)" identifier = (cast_expression "(uint *)((int)puVar21 + 3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 3)" ( (binary_expression "(int)puVar21 + 3" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*pdVar17 = (double)((float)(byte)*puVar21 * fVar3);" (assignment_expression "*pdVar17 = (double)((float)(byte)*puVar21 * fVar3)" (pointer_expression "*pdVar17" * identifier) = (cast_expression "(double)((float)(byte)*puVar21 * fVar3)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(byte)*puVar21 * fVar3)" ( (binary_expression "(float)(byte)*puVar21 * fVar3" (binary_expression "(float)(byte)*puVar21" (cast_expression "(float)(byte)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(byte)" ( identifier ))) * identifier) * identifier) )))) ;) (expression_statement "pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);" (assignment_expression "pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)*(byte *)((int)puVar21 + 1) * fVar3)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*(byte *)((int)puVar21 + 1) * fVar3)" ( (binary_expression "(float)*(byte *)((int)puVar21 + 1) * fVar3" (cast_expression "(float)*(byte *)((int)puVar21 + 1)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(byte *)((int)puVar21 + 1)" * (cast_expression "(byte *)((int)puVar21 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 1)" ( (binary_expression "(int)puVar21 + 1" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) * identifier) )))) ;) (expression_statement "pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);" (assignment_expression "pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)*(byte *)((int)puVar21 + 2) * fVar3)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*(byte *)((int)puVar21 + 2) * fVar3)" ( (binary_expression "(float)*(byte *)((int)puVar21 + 2) * fVar3" (cast_expression "(float)*(byte *)((int)puVar21 + 2)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(byte *)((int)puVar21 + 2)" * (cast_expression "(byte *)((int)puVar21 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 2)" ( (binary_expression "(int)puVar21 + 2" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) * identifier) )))) ;) (expression_statement "pdVar17 = pdVar17 + 10;" (assignment_expression "pdVar17 = pdVar17 + 10" identifier = (binary_expression "pdVar17 + 10" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "((uint *)(iVar20 * 3 + (int)puVar14) != puVar23)" ( (binary_expression "(uint *)(iVar20 * 3 + (int)puVar14) != puVar23" (cast_expression "(uint *)(iVar20 * 3 + (int)puVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 * 3 + (int)puVar14)" ( (binary_expression "iVar20 * 3 + (int)puVar14" (binary_expression "iVar20 * 3" identifier * number_literal) + (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != identifier) )) ;) })) }))))) (expression_statement "RelinquishMagickMemory(puVar14);" (call_expression "RelinquishMagickMemory(puVar14)" identifier (argument_list "(puVar14)" ( identifier ))) ;) (goto_statement "goto LAB_0025ad8a;" goto statement_identifier ;) })) (expression_statement "RelinquishMagickMemory(puVar14);" (call_expression "RelinquishMagickMemory(puVar14)" identifier (argument_list "(puVar14)" ( identifier ))) ;) (expression_statement "pcVar31 = "InsufficientImageDataInFile";" (assignment_expression "pcVar31 = "InsufficientImageDataInFile"" identifier = (string_literal ""InsufficientImageDataInFile"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x390;" (assignment_expression "uVar19 = 0x390" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (labeled_statement "LAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" statement_identifier : (if_statement "if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" if (parenthesized_expression "(((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91]))" ( (binary_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])" (parenthesized_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0))" ( (binary_expression "(*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)" (parenthesized_expression "(*(int *)(param_1 + 0x1bc) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1bc) != 0" (pointer_expression "*(int *)(param_1 + 0x1bc)" * (cast_expression "(int *)(param_1 + 0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1bc)" ( (binary_expression "param_1 + 0x1bc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91]" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) - number_literal) <= (cast_expression "(uint)piVar5[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[0x91]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" { (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (if_statement "if (local_3080 != 0) goto LAB_0025b914;" if (parenthesized_expression "(local_3080 != 0)" ( (binary_expression "local_3080 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b914;" goto statement_identifier ;)) (goto_statement "goto LAB_0025aeb9;" goto statement_identifier ;) }))) (expression_statement "iVar6 = AcquireMagickResource(10,piVar5[6],0);" (assignment_expression "iVar6 = AcquireMagickResource(10,piVar5[6],0)" identifier = (call_expression "AcquireMagickResource(10,piVar5[6],0)" identifier (argument_list "(10,piVar5[6],0)" ( number_literal , (subscript_expression "piVar5[6]" identifier [ number_literal ]) , number_literal )))) ;) (if_statement "if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0))" ( (binary_expression "(iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)" ( (comma_expression "iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0" (assignment_expression "iVar6 = AcquireMagickResource(4,piVar5[7],0)" identifier = (call_expression "AcquireMagickResource(4,piVar5[7],0)" identifier (argument_list "(4,piVar5[7],0)" ( number_literal , (subscript_expression "piVar5[7]" identifier [ number_literal ]) , number_literal )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }" { (expression_statement "pcVar31 = "WidthOrHeightExceedsLimit";" (assignment_expression "pcVar31 = "WidthOrHeightExceedsLimit"" identifier = (string_literal ""WidthOrHeightExceedsLimit"" " string_content ")) ;) (expression_statement "uVar30 = 0x1d1;" (assignment_expression "uVar30 = 0x1d1" identifier = number_literal) ;) (expression_statement "uVar19 = 0x3db;" (assignment_expression "uVar19 = 0x3db" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);" (assignment_expression "iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2)" identifier = (call_expression "PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2)" identifier (argument_list "(piVar5,local_3020,1,&local_3054,param_2)" ( identifier , identifier , number_literal , (pointer_expression "&local_3054" & identifier) , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }" { (expression_statement "SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);" (call_expression "SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2)" identifier (argument_list "(piVar5,piVar5[6],piVar5[7],param_2)" ( identifier , (subscript_expression "piVar5[6]" identifier [ number_literal ]) , (subscript_expression "piVar5[7]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "pcVar31 = "UnableToPersistPixelCache";" (assignment_expression "pcVar31 = "UnableToPersistPixelCache"" identifier = (string_literal ""UnableToPersistPixelCache"" " string_content ")) ;) (expression_statement "uVar30 = 0x1bd;" (assignment_expression "uVar30 = 0x1bd" identifier = number_literal) ;) (expression_statement "uVar19 = 0x3e3;" (assignment_expression "uVar19 = 0x3e3" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "iVar6 = EOFBlob(piVar5);" (assignment_expression "iVar6 = EOFBlob(piVar5)" identifier = (call_expression "EOFBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }" { (expression_statement "piVar18 = __errno_location();" (assignment_expression "piVar18 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar19 = GetExceptionMessage(*piVar18);" (assignment_expression "uVar19 = GetExceptionMessage(*piVar18)" identifier = (call_expression "GetExceptionMessage(*piVar18)" identifier (argument_list "(*piVar18)" ( (pointer_expression "*piVar18" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);" (call_expression "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19)" identifier (argument_list "(param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19)" ( identifier , (string_literal ""coders/mpc.c"" " string_content ") , (string_literal ""ReadMPCImage"" " string_content ") , number_literal , number_literal , (string_literal ""UnexpectedEndOfFile"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , (binary_expression "piVar5 + 0xc6" identifier + number_literal) , identifier ))) ;) (expression_statement "DestroyString(uVar19);" (call_expression "DestroyString(uVar19)" identifier (argument_list "(uVar19)" ( identifier ))) ;) (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (labeled_statement "LAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);" statement_identifier : (expression_statement "uVar19 = GetFirstImageInList(piVar5);" (assignment_expression "uVar19 = GetFirstImageInList(piVar5)" identifier = (call_expression "GetFirstImageInList(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;)) (goto_statement "goto LAB_0025b79c;" goto statement_identifier ;) })) (while_statement "while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }" while (parenthesized_expression "(iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6])" ( (comma_expression "iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) , (binary_expression "-1 < (short)(*ppuVar7)[iVar6]" number_literal < (cast_expression "(short)(*ppuVar7)[iVar6]" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (subscript_expression "(*ppuVar7)[iVar6]" (parenthesized_expression "(*ppuVar7)" ( (pointer_expression "*ppuVar7" * identifier) )) [ identifier ])))) )) (compound_statement "{\n          if (iVar6 == -1) goto LAB_0025b908;\n        }" { (if_statement "if (iVar6 == -1) goto LAB_0025b908;" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0025b908;" goto statement_identifier ;)) })) (if_statement "if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }" { (labeled_statement "LAB_0025b908:\n          CloseBlob(piVar5);" statement_identifier : (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;)) (goto_statement "goto LAB_0025b914;" goto statement_identifier ;) })) (expression_statement "AcquireNextImage(param_1,piVar5,param_2);" (call_expression "AcquireNextImage(param_1,piVar5,param_2)" identifier (argument_list "(param_1,piVar5,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar20 = GetNextImageInList(piVar5);" (assignment_expression "iVar20 = GetNextImageInList(piVar5)" identifier = (call_expression "GetNextImageInList(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar5 = (int *)SyncNextImageInList(piVar5);" (assignment_expression "piVar5 = (int *)SyncNextImageInList(piVar5)" identifier = (cast_expression "(int *)SyncNextImageInList(piVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))))) ;) (expression_statement "uVar28 = GetBlobSize(piVar5);" (assignment_expression "uVar28 = GetBlobSize(piVar5)" identifier = (call_expression "GetBlobSize(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "uVar29 = TellBlob(piVar5);" (assignment_expression "uVar29 = TellBlob(piVar5)" identifier = (call_expression "TellBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);" (assignment_expression "local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28)" identifier = (call_expression "SetImageProgress(piVar5,"Load/Images",uVar29,uVar28)" identifier (argument_list "(piVar5,"Load/Images",uVar29,uVar28)" ( identifier , (string_literal ""Load/Images"" " string_content ") , identifier , identifier )))) ;) }) while (parenthesized_expression "(local_3080 != 0)" ( (binary_expression "local_3080 != 0" identifier != number_literal) )) ;) (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (labeled_statement "LAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);" statement_identifier : (expression_statement "uVar19 = DestroyImageList(piVar5);" (assignment_expression "uVar19 = DestroyImageList(piVar5)" identifier = (call_expression "DestroyImageList(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;)) }))) }))) (labeled_statement "LAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\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    return uVar19;\n  }" { (return_statement "return uVar19;" return identifier ;) }))) comment (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0025b6e0:\n  *pcVar31 = '\0';" statement_identifier : (expression_statement "*pcVar31 = '\0';" (assignment_expression "*pcVar31 = '\0'" (pointer_expression "*pcVar31" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "SetImageProperty(piVar5,"comment",pcVar10,param_2);" (call_expression "SetImageProperty(piVar5,"comment",pcVar10,param_2)" identifier (argument_list "(piVar5,"comment",pcVar10,param_2)" ( identifier , (string_literal ""comment"" " string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(pcVar10);" (call_expression "DestroyString(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (labeled_statement "LAB_0025ac68:\n  puVar8 = *ppuVar7;" statement_identifier : (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;)) (expression_statement "uVar1 = puVar8[iVar6];" (assignment_expression "uVar1 = puVar8[iVar6]" identifier = (subscript_expression "puVar8[iVar6]" identifier [ identifier ])) ;) (if_statement "if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;" if (parenthesized_expression "((uVar1 & 0x2000) == 0)" ( (binary_expression "(uVar1 & 0x2000) == 0" (parenthesized_expression "(uVar1 & 0x2000)" ( (binary_expression "uVar1 & 0x2000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0025ab3f;" goto statement_identifier ;)) (do_statement "do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);" do (compound_statement "{\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "uVar1 = puVar8[iVar6];" (assignment_expression "uVar1 = puVar8[iVar6]" identifier = (subscript_expression "puVar8[iVar6]" identifier [ identifier ])) ;) }) while (parenthesized_expression "((uVar1 & 0x2000) != 0)" ( (binary_expression "(uVar1 & 0x2000) != 0" (parenthesized_expression "(uVar1 & 0x2000)" ( (binary_expression "uVar1 & 0x2000" identifier & number_literal) )) != number_literal) )) ;) (if_statement "if (iVar6 == 0x3a) goto LAB_0025aca4;" if (parenthesized_expression "(iVar6 == 0x3a)" ( (binary_expression "iVar6 == 0x3a" identifier == number_literal) )) (goto_statement "goto LAB_0025aca4;" goto statement_identifier ;)) (goto_statement "goto LAB_0025ab48;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "ChannelType": Some values do not have unique names */\n/* WARNING: Enum "GravityType": Some values do not have unique names */\n/* WARNING: Enum "DisposeType": Some values do not have unique names */\n/* WARNING: Enum "PixelChannel": Some values do not have unique names */\n/* WARNING: Enum "ExceptionType": Some values do not have unique names */\n/* WARNING: Enum "LogEventType": Some values do not have unique names */\n/* WARNING: Enum "ComplianceType": Some values do not have unique names */\n\nImage * ReadMPCImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  ushort uVar1;\n  int iVar2;\n  size_t sVar3;\n  float fVar4;\n  float fVar5;\n  undefined *relinquish_value;\n  Image *pIVar6;\n  int iVar7;\n  ushort **ppuVar8;\n  ushort *puVar9;\n  MagickStatusType MVar10;\n  uint uVar11;\n  size_t sVar12;\n  MagickBooleanType MVar13;\n  Image *pIVar14;\n  ResolutionType RVar15;\n  ImageType IVar16;\n  ulong uVar17;\n  OrientationType OVar18;\n  DisposeType DVar19;\n  PixelTrait PVar20;\n  char *value;\n  size_t sVar21;\n  StringInfo *string_info;\n  uchar *data;\n  uint uVar22;\n  PixelInfo *pPVar23;\n  uint *data_00;\n  ssize_t sVar24;\n  long lVar25;\n  ClassType CVar26;\n  EndianType EVar27;\n  PixelIntensityMethod PVar28;\n  RenderingIntent RVar29;\n  CompressionType CVar30;\n  ColorspaceType CVar31;\n  MagickRealType *pMVar32;\n  int *piVar33;\n  char *pcVar34;\n  int iVar35;\n  uint *puVar36;\n  uint *puVar37;\n  char *pcVar38;\n  int in_GS_OFFSET;\n  byte bVar39;\n  MagickSizeType MVar40;\n  MagickOffsetType offset_00;\n  double dVar41;\n  ExceptionType severity;\n  char *local_30ac;\n  char *local_30a4;\n  LinkedListInfo *local_3084;\n  MagickBooleanType local_3080;\n  uint local_3078;\n  MagickOffsetType offset;\n  GeometryInfo geometry_info;\n  char cache_filename [4096];\n  char id [4096];\n  char keyword [4096];\n  \n  bVar39 = 0;\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  pIVar6 = AcquireImage(image_info,exception);\n  local_3080 = OpenBlob(image_info,pIVar6,ReadBinaryBlobMode,exception);\n  if (local_3080 == MagickFalse) {\n    DestroyImageList(pIVar6);\n    pIVar6 = (Image *)0x0;\n  }\n  else {\n    CopyMagickString(cache_filename,pIVar6->filename,0xffa);\n    AppendImageFormat("cache",cache_filename);\n    iVar7 = ReadBlobByte(pIVar6);\n    if (iVar7 == -1) {\n      DestroyImage(pIVar6);\n      pIVar6 = (Image *)0x0;\n    }\n    else {\n      id[0] = '\0';\n      pcVar34 = keyword;\n      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }\n      offset._0_4_ = 0;\n      offset._4_4_ = 0;\n      ppuVar8 = __ctype_b_loc();\n      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);\n      CloseBlob(pIVar6);\nLAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);\n    }\n  }\nLAB_0025b79c:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_0025b6e0:\n  *pcVar34 = '\0';\n  SetImageProperty(pIVar6,"comment",value,exception);\n  DestroyString(value);\n  iVar7 = ReadBlobByte(pIVar6);\nLAB_0025ac68:\n  puVar9 = *ppuVar8;\n  uVar1 = puVar9[iVar7];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar7 = ReadBlobByte(pIVar6);\n    puVar9 = *ppuVar8;\n    uVar1 = puVar9[iVar7];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar7 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}\n\n" comment comment comment comment comment comment comment comment (function_definition "Image * ReadMPCImage(ImageInfo *image_info,ExceptionInfo *exception)\n\n{\n  ushort uVar1;\n  int iVar2;\n  size_t sVar3;\n  float fVar4;\n  float fVar5;\n  undefined *relinquish_value;\n  Image *pIVar6;\n  int iVar7;\n  ushort **ppuVar8;\n  ushort *puVar9;\n  MagickStatusType MVar10;\n  uint uVar11;\n  size_t sVar12;\n  MagickBooleanType MVar13;\n  Image *pIVar14;\n  ResolutionType RVar15;\n  ImageType IVar16;\n  ulong uVar17;\n  OrientationType OVar18;\n  DisposeType DVar19;\n  PixelTrait PVar20;\n  char *value;\n  size_t sVar21;\n  StringInfo *string_info;\n  uchar *data;\n  uint uVar22;\n  PixelInfo *pPVar23;\n  uint *data_00;\n  ssize_t sVar24;\n  long lVar25;\n  ClassType CVar26;\n  EndianType EVar27;\n  PixelIntensityMethod PVar28;\n  RenderingIntent RVar29;\n  CompressionType CVar30;\n  ColorspaceType CVar31;\n  MagickRealType *pMVar32;\n  int *piVar33;\n  char *pcVar34;\n  int iVar35;\n  uint *puVar36;\n  uint *puVar37;\n  char *pcVar38;\n  int in_GS_OFFSET;\n  byte bVar39;\n  MagickSizeType MVar40;\n  MagickOffsetType offset_00;\n  double dVar41;\n  ExceptionType severity;\n  char *local_30ac;\n  char *local_30a4;\n  LinkedListInfo *local_3084;\n  MagickBooleanType local_3080;\n  uint local_3078;\n  MagickOffsetType offset;\n  GeometryInfo geometry_info;\n  char cache_filename [4096];\n  char id [4096];\n  char keyword [4096];\n  \n  bVar39 = 0;\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  pIVar6 = AcquireImage(image_info,exception);\n  local_3080 = OpenBlob(image_info,pIVar6,ReadBinaryBlobMode,exception);\n  if (local_3080 == MagickFalse) {\n    DestroyImageList(pIVar6);\n    pIVar6 = (Image *)0x0;\n  }\n  else {\n    CopyMagickString(cache_filename,pIVar6->filename,0xffa);\n    AppendImageFormat("cache",cache_filename);\n    iVar7 = ReadBlobByte(pIVar6);\n    if (iVar7 == -1) {\n      DestroyImage(pIVar6);\n      pIVar6 = (Image *)0x0;\n    }\n    else {\n      id[0] = '\0';\n      pcVar34 = keyword;\n      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }\n      offset._0_4_ = 0;\n      offset._4_4_ = 0;\n      ppuVar8 = __ctype_b_loc();\n      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);\n      CloseBlob(pIVar6);\nLAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);\n    }\n  }\nLAB_0025b79c:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_0025b6e0:\n  *pcVar34 = '\0';\n  SetImageProperty(pIVar6,"comment",value,exception);\n  DestroyString(value);\n  iVar7 = ReadBlobByte(pIVar6);\nLAB_0025ac68:\n  puVar9 = *ppuVar8;\n  uVar1 = puVar9[iVar7];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar7 = ReadBlobByte(pIVar6);\n    puVar9 = *ppuVar8;\n    uVar1 = puVar9[iVar7];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar7 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}" type_identifier (pointer_declarator "* ReadMPCImage(ImageInfo *image_info,ExceptionInfo *exception)" * (function_declarator "ReadMPCImage(ImageInfo *image_info,ExceptionInfo *exception)" identifier (parameter_list "(ImageInfo *image_info,ExceptionInfo *exception)" ( (parameter_declaration "ImageInfo *image_info" type_identifier (pointer_declarator "*image_info" * identifier)) , (parameter_declaration "ExceptionInfo *exception" type_identifier (pointer_declarator "*exception" * identifier)) )))) (compound_statement "{\n  ushort uVar1;\n  int iVar2;\n  size_t sVar3;\n  float fVar4;\n  float fVar5;\n  undefined *relinquish_value;\n  Image *pIVar6;\n  int iVar7;\n  ushort **ppuVar8;\n  ushort *puVar9;\n  MagickStatusType MVar10;\n  uint uVar11;\n  size_t sVar12;\n  MagickBooleanType MVar13;\n  Image *pIVar14;\n  ResolutionType RVar15;\n  ImageType IVar16;\n  ulong uVar17;\n  OrientationType OVar18;\n  DisposeType DVar19;\n  PixelTrait PVar20;\n  char *value;\n  size_t sVar21;\n  StringInfo *string_info;\n  uchar *data;\n  uint uVar22;\n  PixelInfo *pPVar23;\n  uint *data_00;\n  ssize_t sVar24;\n  long lVar25;\n  ClassType CVar26;\n  EndianType EVar27;\n  PixelIntensityMethod PVar28;\n  RenderingIntent RVar29;\n  CompressionType CVar30;\n  ColorspaceType CVar31;\n  MagickRealType *pMVar32;\n  int *piVar33;\n  char *pcVar34;\n  int iVar35;\n  uint *puVar36;\n  uint *puVar37;\n  char *pcVar38;\n  int in_GS_OFFSET;\n  byte bVar39;\n  MagickSizeType MVar40;\n  MagickOffsetType offset_00;\n  double dVar41;\n  ExceptionType severity;\n  char *local_30ac;\n  char *local_30a4;\n  LinkedListInfo *local_3084;\n  MagickBooleanType local_3080;\n  uint local_3078;\n  MagickOffsetType offset;\n  GeometryInfo geometry_info;\n  char cache_filename [4096];\n  char id [4096];\n  char keyword [4096];\n  \n  bVar39 = 0;\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  if (image_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",image_info->filename);\n  }\n  if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  pIVar6 = AcquireImage(image_info,exception);\n  local_3080 = OpenBlob(image_info,pIVar6,ReadBinaryBlobMode,exception);\n  if (local_3080 == MagickFalse) {\n    DestroyImageList(pIVar6);\n    pIVar6 = (Image *)0x0;\n  }\n  else {\n    CopyMagickString(cache_filename,pIVar6->filename,0xffa);\n    AppendImageFormat("cache",cache_filename);\n    iVar7 = ReadBlobByte(pIVar6);\n    if (iVar7 == -1) {\n      DestroyImage(pIVar6);\n      pIVar6 = (Image *)0x0;\n    }\n    else {\n      id[0] = '\0';\n      pcVar34 = keyword;\n      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }\n      offset._0_4_ = 0;\n      offset._4_4_ = 0;\n      ppuVar8 = __ctype_b_loc();\n      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);\n      CloseBlob(pIVar6);\nLAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);\n    }\n  }\nLAB_0025b79c:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar6;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\nLAB_0025b6e0:\n  *pcVar34 = '\0';\n  SetImageProperty(pIVar6,"comment",value,exception);\n  DestroyString(value);\n  iVar7 = ReadBlobByte(pIVar6);\nLAB_0025ac68:\n  puVar9 = *ppuVar8;\n  uVar1 = puVar9[iVar7];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar7 = ReadBlobByte(pIVar6);\n    puVar9 = *ppuVar8;\n    uVar1 = puVar9[iVar7];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar7 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "size_t sVar3;" primitive_type identifier ;) (declaration "float fVar4;" primitive_type identifier ;) (declaration "float fVar5;" primitive_type identifier ;) (declaration "undefined *relinquish_value;" type_identifier (pointer_declarator "*relinquish_value" * identifier) ;) (declaration "Image *pIVar6;" type_identifier (pointer_declarator "*pIVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "ushort **ppuVar8;" type_identifier (pointer_declarator "**ppuVar8" * (pointer_declarator "*ppuVar8" * identifier)) ;) (declaration "ushort *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "MagickStatusType MVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "MagickBooleanType MVar13;" type_identifier identifier ;) (declaration "Image *pIVar14;" type_identifier (pointer_declarator "*pIVar14" * identifier) ;) (declaration "ResolutionType RVar15;" type_identifier identifier ;) (declaration "ImageType IVar16;" type_identifier identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "OrientationType OVar18;" type_identifier identifier ;) (declaration "DisposeType DVar19;" type_identifier identifier ;) (declaration "PixelTrait PVar20;" type_identifier identifier ;) (declaration "char *value;" primitive_type (pointer_declarator "*value" * identifier) ;) (declaration "size_t sVar21;" primitive_type identifier ;) (declaration "StringInfo *string_info;" type_identifier (pointer_declarator "*string_info" * identifier) ;) (declaration "uchar *data;" type_identifier (pointer_declarator "*data" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "PixelInfo *pPVar23;" type_identifier (pointer_declarator "*pPVar23" * identifier) ;) (declaration "uint *data_00;" type_identifier (pointer_declarator "*data_00" * identifier) ;) (declaration "ssize_t sVar24;" primitive_type identifier ;) (declaration "long lVar25;" (sized_type_specifier "long" long) identifier ;) (declaration "ClassType CVar26;" type_identifier identifier ;) (declaration "EndianType EVar27;" type_identifier identifier ;) (declaration "PixelIntensityMethod PVar28;" type_identifier identifier ;) (declaration "RenderingIntent RVar29;" type_identifier identifier ;) (declaration "CompressionType CVar30;" type_identifier identifier ;) (declaration "ColorspaceType CVar31;" type_identifier identifier ;) (declaration "MagickRealType *pMVar32;" type_identifier (pointer_declarator "*pMVar32" * identifier) ;) (declaration "int *piVar33;" primitive_type (pointer_declarator "*piVar33" * identifier) ;) (declaration "char *pcVar34;" primitive_type (pointer_declarator "*pcVar34" * identifier) ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "uint *puVar36;" type_identifier (pointer_declarator "*puVar36" * identifier) ;) (declaration "uint *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "char *pcVar38;" primitive_type (pointer_declarator "*pcVar38" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar39;" type_identifier identifier ;) (declaration "MagickSizeType MVar40;" type_identifier identifier ;) (declaration "MagickOffsetType offset_00;" type_identifier identifier ;) (declaration "double dVar41;" primitive_type identifier ;) (declaration "ExceptionType severity;" type_identifier identifier ;) (declaration "char *local_30ac;" primitive_type (pointer_declarator "*local_30ac" * identifier) ;) (declaration "char *local_30a4;" primitive_type (pointer_declarator "*local_30a4" * identifier) ;) (declaration "LinkedListInfo *local_3084;" type_identifier (pointer_declarator "*local_3084" * identifier) ;) (declaration "MagickBooleanType local_3080;" type_identifier identifier ;) (declaration "uint local_3078;" type_identifier identifier ;) (declaration "MagickOffsetType offset;" type_identifier identifier ;) (declaration "GeometryInfo geometry_info;" type_identifier identifier ;) (declaration "char cache_filename [4096];" primitive_type (array_declarator "cache_filename [4096]" identifier [ number_literal ]) ;) (declaration "char id [4096];" primitive_type (array_declarator "id [4096]" identifier [ number_literal ]) ;) (declaration "char keyword [4096];" primitive_type (array_declarator "keyword [4096]" identifier [ number_literal ]) ;) (expression_statement "bVar39 = 0;" (assignment_expression "bVar39 = 0" identifier = number_literal) ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(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_info == (ImageInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }" if (parenthesized_expression "(image_info == (ImageInfo *)0x0)" ( (binary_expression "image_info == (ImageInfo *)0x0" identifier == (cast_expression "(ImageInfo *)0x0" ( (type_descriptor "ImageInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }" { comment (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }" if (parenthesized_expression "(image_info->signature != 0xabacadab)" ( (binary_expression "image_info->signature != 0xabacadab" (field_expression "image_info->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }" { comment (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (if_statement "if (image_info->debug != MagickFalse) {\n    LogMagickEvent(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",image_info->filename);\n  }" if (parenthesized_expression "(image_info->debug != MagickFalse)" ( (binary_expression "image_info->debug != MagickFalse" (field_expression "image_info->debug" identifier -> field_identifier) != identifier) )) (compound_statement "{\n    LogMagickEvent(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",image_info->filename);\n  }" { (expression_statement "LogMagickEvent(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",image_info->filename);" (call_expression "LogMagickEvent(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",image_info->filename)" identifier (argument_list "(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",image_info->filename)" ( identifier , (string_literal ""coders/mpc.c"" " string_content ") , (string_literal ""ReadMPCImage"" " string_content ") , number_literal , (string_literal ""%s"" " string_content ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;) })) (if_statement "if (exception == (ExceptionInfo *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }" if (parenthesized_expression "(exception == (ExceptionInfo *)0x0)" ( (binary_expression "exception == (ExceptionInfo *)0x0" identifier == (cast_expression "(ExceptionInfo *)0x0" ( (type_descriptor "ExceptionInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }" { comment (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (if_statement "if (exception->signature != 0xabacadab) {\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }" if (parenthesized_expression "(exception->signature != 0xabacadab)" ( (binary_expression "exception->signature != 0xabacadab" (field_expression "exception->signature" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }" { comment (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (expression_statement "pIVar6 = AcquireImage(image_info,exception);" (assignment_expression "pIVar6 = AcquireImage(image_info,exception)" identifier = (call_expression "AcquireImage(image_info,exception)" identifier (argument_list "(image_info,exception)" ( identifier , identifier )))) ;) (expression_statement "local_3080 = OpenBlob(image_info,pIVar6,ReadBinaryBlobMode,exception);" (assignment_expression "local_3080 = OpenBlob(image_info,pIVar6,ReadBinaryBlobMode,exception)" identifier = (call_expression "OpenBlob(image_info,pIVar6,ReadBinaryBlobMode,exception)" identifier (argument_list "(image_info,pIVar6,ReadBinaryBlobMode,exception)" ( identifier , identifier , identifier , identifier )))) ;) (if_statement "if (local_3080 == MagickFalse) {\n    DestroyImageList(pIVar6);\n    pIVar6 = (Image *)0x0;\n  }\n  else {\n    CopyMagickString(cache_filename,pIVar6->filename,0xffa);\n    AppendImageFormat("cache",cache_filename);\n    iVar7 = ReadBlobByte(pIVar6);\n    if (iVar7 == -1) {\n      DestroyImage(pIVar6);\n      pIVar6 = (Image *)0x0;\n    }\n    else {\n      id[0] = '\0';\n      pcVar34 = keyword;\n      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }\n      offset._0_4_ = 0;\n      offset._4_4_ = 0;\n      ppuVar8 = __ctype_b_loc();\n      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);\n      CloseBlob(pIVar6);\nLAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);\n    }\n  }" if (parenthesized_expression "(local_3080 == MagickFalse)" ( (binary_expression "local_3080 == MagickFalse" identifier == identifier) )) (compound_statement "{\n    DestroyImageList(pIVar6);\n    pIVar6 = (Image *)0x0;\n  }" { (expression_statement "DestroyImageList(pIVar6);" (call_expression "DestroyImageList(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier ))) ;) (expression_statement "pIVar6 = (Image *)0x0;" (assignment_expression "pIVar6 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    CopyMagickString(cache_filename,pIVar6->filename,0xffa);\n    AppendImageFormat("cache",cache_filename);\n    iVar7 = ReadBlobByte(pIVar6);\n    if (iVar7 == -1) {\n      DestroyImage(pIVar6);\n      pIVar6 = (Image *)0x0;\n    }\n    else {\n      id[0] = '\0';\n      pcVar34 = keyword;\n      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }\n      offset._0_4_ = 0;\n      offset._4_4_ = 0;\n      ppuVar8 = __ctype_b_loc();\n      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);\n      CloseBlob(pIVar6);\nLAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);\n    }\n  }" else (compound_statement "{\n    CopyMagickString(cache_filename,pIVar6->filename,0xffa);\n    AppendImageFormat("cache",cache_filename);\n    iVar7 = ReadBlobByte(pIVar6);\n    if (iVar7 == -1) {\n      DestroyImage(pIVar6);\n      pIVar6 = (Image *)0x0;\n    }\n    else {\n      id[0] = '\0';\n      pcVar34 = keyword;\n      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }\n      offset._0_4_ = 0;\n      offset._4_4_ = 0;\n      ppuVar8 = __ctype_b_loc();\n      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);\n      CloseBlob(pIVar6);\nLAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);\n    }\n  }" { (expression_statement "CopyMagickString(cache_filename,pIVar6->filename,0xffa);" (call_expression "CopyMagickString(cache_filename,pIVar6->filename,0xffa)" identifier (argument_list "(cache_filename,pIVar6->filename,0xffa)" ( identifier , (field_expression "pIVar6->filename" identifier -> field_identifier) , number_literal ))) ;) (expression_statement "AppendImageFormat("cache",cache_filename);" (call_expression "AppendImageFormat("cache",cache_filename)" identifier (argument_list "("cache",cache_filename)" ( (string_literal ""cache"" " string_content ") , identifier ))) ;) (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (if_statement "if (iVar7 == -1) {\n      DestroyImage(pIVar6);\n      pIVar6 = (Image *)0x0;\n    }\n    else {\n      id[0] = '\0';\n      pcVar34 = keyword;\n      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }\n      offset._0_4_ = 0;\n      offset._4_4_ = 0;\n      ppuVar8 = __ctype_b_loc();\n      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);\n      CloseBlob(pIVar6);\nLAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);\n    }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n      DestroyImage(pIVar6);\n      pIVar6 = (Image *)0x0;\n    }" { (expression_statement "DestroyImage(pIVar6);" (call_expression "DestroyImage(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier ))) ;) (expression_statement "pIVar6 = (Image *)0x0;" (assignment_expression "pIVar6 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      id[0] = '\0';\n      pcVar34 = keyword;\n      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }\n      offset._0_4_ = 0;\n      offset._4_4_ = 0;\n      ppuVar8 = __ctype_b_loc();\n      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);\n      CloseBlob(pIVar6);\nLAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);\n    }" else (compound_statement "{\n      id[0] = '\0';\n      pcVar34 = keyword;\n      for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }\n      offset._0_4_ = 0;\n      offset._4_4_ = 0;\n      ppuVar8 = __ctype_b_loc();\n      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);\n      CloseBlob(pIVar6);\nLAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);\n    }" { (expression_statement "id[0] = '\0';" (assignment_expression "id[0] = '\0'" (subscript_expression "id[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar34 = keyword;" (assignment_expression "pcVar34 = keyword" identifier = identifier) ;) (for_statement "for (iVar35 = 0x400; iVar35 != 0; iVar35 = iVar35 + -1) {\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }" for ( (assignment_expression "iVar35 = 0x400" identifier = number_literal) ; (binary_expression "iVar35 != 0" identifier != number_literal) ; (assignment_expression "iVar35 = iVar35 + -1" identifier = (binary_expression "iVar35 + -1" identifier + number_literal)) ) (compound_statement "{\n        pcVar34[0] = '\0';\n        pcVar34[1] = '\0';\n        pcVar34[2] = '\0';\n        pcVar34[3] = '\0';\n        pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;\n      }" { (expression_statement "pcVar34[0] = '\0';" (assignment_expression "pcVar34[0] = '\0'" (subscript_expression "pcVar34[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar34[1] = '\0';" (assignment_expression "pcVar34[1] = '\0'" (subscript_expression "pcVar34[1]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar34[2] = '\0';" (assignment_expression "pcVar34[2] = '\0'" (subscript_expression "pcVar34[2]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar34[3] = '\0';" (assignment_expression "pcVar34[3] = '\0'" (subscript_expression "pcVar34[3]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4;" (assignment_expression "pcVar34 = pcVar34 + (uint)bVar39 * -8 + 4" identifier = (binary_expression "pcVar34 + (uint)bVar39 * -8 + 4" (binary_expression "pcVar34 + (uint)bVar39 * -8" identifier + (binary_expression "(uint)bVar39 * -8" (cast_expression "(uint)bVar39" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "offset._0_4_ = 0;" (assignment_expression "offset._0_4_ = 0" (field_expression "offset._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "offset._4_4_ = 0;" (assignment_expression "offset._4_4_ = 0" (field_expression "offset._4_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "ppuVar8 = __ctype_b_loc();" (assignment_expression "ppuVar8 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;" (assignment_expression "relinquish_value = PTR_RelinquishMagickMemory_0041dfd8" identifier = identifier) ;) (do_statement "do {\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      } while (local_3080 != MagickFalse);" do (compound_statement "{\n        SetGeometryInfo(&geometry_info);\n        local_30a4 = AcquireString((char *)0x0);\n        local_3078 = GetMagickSignature((StringInfo *)0x0);\n        pIVar6->depth = 8;\n        puVar9 = *ppuVar8;\n        pIVar6->compression = NoCompression;\n        uVar1 = puVar9[iVar7];\n        local_3084 = (LinkedListInfo *)0x0;\nLAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(pIVar6);\n        iVar7 = LocaleCompare(id,"MagickPixelCache");\n        if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }\n        uVar11 = GetMagickSignature((StringInfo *)0x0);\n        if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }\n        if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }\n        sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);\n        if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;\n        uVar11 = sVar12 * 3 >> 3;\n        sVar3 = pIVar6->colors;\n        MVar40 = GetBlobSize(pIVar6);\n        if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }\n        pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);\n        pIVar6->colormap = pPVar23;\n        if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);\n        if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }\n        MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);\n        if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar7 = EOFBlob(pIVar6);\n        if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }\n        while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }\n        if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(image_info,pIVar6,exception);\n        pIVar14 = GetNextImageInList(pIVar6);\n        if (pIVar14 == (Image *)0x0) break;\n        pIVar6 = SyncNextImageInList(pIVar6);\n        MVar40 = GetBlobSize(pIVar6);\n        offset_00 = TellBlob(pIVar6);\n        local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);\n      }" { (expression_statement "SetGeometryInfo(&geometry_info);" (call_expression "SetGeometryInfo(&geometry_info)" identifier (argument_list "(&geometry_info)" ( (pointer_expression "&geometry_info" & identifier) ))) ;) (expression_statement "local_30a4 = AcquireString((char *)0x0);" (assignment_expression "local_30a4 = AcquireString((char *)0x0)" identifier = (call_expression "AcquireString((char *)0x0)" identifier (argument_list "((char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "local_3078 = GetMagickSignature((StringInfo *)0x0);" (assignment_expression "local_3078 = GetMagickSignature((StringInfo *)0x0)" identifier = (call_expression "GetMagickSignature((StringInfo *)0x0)" identifier (argument_list "((StringInfo *)0x0)" ( (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "pIVar6->depth = 8;" (assignment_expression "pIVar6->depth = 8" (field_expression "pIVar6->depth" identifier -> field_identifier) = number_literal) ;) (expression_statement "puVar9 = *ppuVar8;" (assignment_expression "puVar9 = *ppuVar8" identifier = (pointer_expression "*ppuVar8" * identifier)) ;) (expression_statement "pIVar6->compression = NoCompression;" (assignment_expression "pIVar6->compression = NoCompression" (field_expression "pIVar6->compression" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar1 = puVar9[iVar7];" (assignment_expression "uVar1 = puVar9[iVar7]" identifier = (subscript_expression "puVar9[iVar7]" identifier [ identifier ])) ;) (expression_statement "local_3084 = (LinkedListInfo *)0x0;" (assignment_expression "local_3084 = (LinkedListInfo *)0x0" identifier = (cast_expression "(LinkedListInfo *)0x0" ( (type_descriptor "LinkedListInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0025ab3f:\n        if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" statement_identifier : (if_statement "if (iVar7 != 0x3a) {\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" if (parenthesized_expression "(iVar7 != 0x3a)" ( (binary_expression "iVar7 != 0x3a" identifier != number_literal) )) (compound_statement "{\nLAB_0025ab48:\n          pcVar34 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" { (labeled_statement "LAB_0025ab48:\n          pcVar34 = local_30a4;" statement_identifier : (expression_statement "pcVar34 = local_30a4;" (assignment_expression "pcVar34 = local_30a4" identifier = identifier) ;)) (if_statement "if (-1 < (short)uVar1) goto LAB_0025aca4;" if (parenthesized_expression "(-1 < (short)uVar1)" ( (binary_expression "-1 < (short)uVar1" number_literal < (cast_expression "(short)uVar1" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) )) (goto_statement "goto LAB_0025aca4;" goto statement_identifier ;)) (if_statement "if (iVar7 == 0x7b) {\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }" if (parenthesized_expression "(iVar7 == 0x7b)" ( (binary_expression "iVar7 == 0x7b" identifier == number_literal) )) (compound_statement "{\n            pcVar34 = AcquireString((char *)0x0);\n            if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x10e;\n            goto LAB_0025b781;\n          }" { (expression_statement "pcVar34 = AcquireString((char *)0x0);" (assignment_expression "pcVar34 = AcquireString((char *)0x0)" identifier = (call_expression "AcquireString((char *)0x0)" identifier (argument_list "((char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (pcVar34 != (char *)0x0) {\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }" if (parenthesized_expression "(pcVar34 != (char *)0x0)" ( (binary_expression "pcVar34 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar38 = (char *)0x1000;\n              value = pcVar34;\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );\n            }" { (expression_statement "pcVar38 = (char *)0x1000;" (assignment_expression "pcVar38 = (char *)0x1000" identifier = (cast_expression "(char *)0x1000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "value = pcVar34;" (assignment_expression "value = pcVar34" identifier = identifier) ;) (do_statement "do {\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              } while( true );" do (compound_statement "{\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }\n              }" { (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (if_statement "if (iVar7 == 0x5c) {\n                  iVar7 = ReadBlobByte(pIVar6);\n                }\n                else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;" if (parenthesized_expression "(iVar7 == 0x5c)" ( (binary_expression "iVar7 == 0x5c" identifier == number_literal) )) (compound_statement "{\n                  iVar7 = ReadBlobByte(pIVar6);\n                }" { (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) }) (else_clause "else if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;" else (if_statement "if ((iVar7 == -1) || (iVar7 == 0x7d)) goto LAB_0025b6e0;" if (parenthesized_expression "((iVar7 == -1) || (iVar7 == 0x7d))" ( (binary_expression "(iVar7 == -1) || (iVar7 == 0x7d)" (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) || (parenthesized_expression "(iVar7 == 0x7d)" ( (binary_expression "iVar7 == 0x7d" identifier == number_literal) ))) )) (goto_statement "goto LAB_0025b6e0;" goto statement_identifier ;)))) (if_statement "if (pcVar34 + (1 - (int)value) < pcVar38) {\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }\n                else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }" if (parenthesized_expression "(pcVar34 + (1 - (int)value) < pcVar38)" ( (binary_expression "pcVar34 + (1 - (int)value) < pcVar38" (binary_expression "pcVar34 + (1 - (int)value)" identifier + (parenthesized_expression "(1 - (int)value)" ( (binary_expression "1 - (int)value" number_literal - (cast_expression "(int)value" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < identifier) )) (compound_statement "{\n                  *pcVar34 = (char)iVar7;\n                  pcVar34 = pcVar34 + 1;\n                }" { (expression_statement "*pcVar34 = (char)iVar7;" (assignment_expression "*pcVar34 = (char)iVar7" (pointer_expression "*pcVar34" * identifier) = (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pcVar34 = pcVar34 + 1;" (assignment_expression "pcVar34 = pcVar34 + 1" identifier = (binary_expression "pcVar34 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }" else (compound_statement "{\n                  pcVar38 = (char *)((int)pcVar38 * 2);\n                  *pcVar34 = '\0';\n                  value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);\n                  if (value == (char *)0x0) break;\n                  sVar21 = strlen(value);\n                  pcVar34 = value + sVar21 + 1;\n                  value[sVar21] = (char)iVar7;\n                }" { (expression_statement "pcVar38 = (char *)((int)pcVar38 * 2);" (assignment_expression "pcVar38 = (char *)((int)pcVar38 * 2)" identifier = (cast_expression "(char *)((int)pcVar38 * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar38 * 2)" ( (binary_expression "(int)pcVar38 * 2" (cast_expression "(int)pcVar38" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "*pcVar34 = '\0';" (assignment_expression "*pcVar34 = '\0'" (pointer_expression "*pcVar34" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1);" (assignment_expression "value = (char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1)" identifier = (cast_expression "(char *)ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(value,(size_t)(pcVar38 + 0x1000),1)" identifier (argument_list "(value,(size_t)(pcVar38 + 0x1000),1)" ( identifier , (cast_expression "(size_t)(pcVar38 + 0x1000)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(pcVar38 + 0x1000)" ( (binary_expression "pcVar38 + 0x1000" identifier + number_literal) ))) , number_literal ))))) ;) (if_statement "if (value == (char *)0x0) break;" if (parenthesized_expression "(value == (char *)0x0)" ( (binary_expression "value == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "sVar21 = strlen(value);" (assignment_expression "sVar21 = strlen(value)" identifier = (call_expression "strlen(value)" identifier (argument_list "(value)" ( identifier )))) ;) (expression_statement "pcVar34 = value + sVar21 + 1;" (assignment_expression "pcVar34 = value + sVar21 + 1" identifier = (binary_expression "value + sVar21 + 1" (binary_expression "value + sVar21" identifier + identifier) + number_literal)) ;) (expression_statement "value[sVar21] = (char)iVar7;" (assignment_expression "value[sVar21] = (char)iVar7" (subscript_expression "value[sVar21]" identifier [ identifier ]) = (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier ))) ;) (expression_statement "pcVar34 = "MemoryAllocationFailed";" (assignment_expression "pcVar34 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "severity = ErrorException;" (assignment_expression "severity = ErrorException" identifier = identifier) ;) (expression_statement "sVar12 = 0x10e;" (assignment_expression "sVar12 = 0x10e" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if ((uVar1 & 8) == 0) {\n            iVar7 = ReadBlobByte(pIVar6);\n          }\n          else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }" if (parenthesized_expression "((uVar1 & 8) == 0)" ( (binary_expression "(uVar1 & 8) == 0" (parenthesized_expression "(uVar1 & 8)" ( (binary_expression "uVar1 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar7 = ReadBlobByte(pIVar6);\n          }" { (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) }) (else_clause "else {\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }" else (compound_statement "{\n            pcVar38 = keyword;\n            if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }\nLAB_0025abb9:\n            *pcVar38 = '\0';\n            if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar34;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }\n            switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }\n          }" { (expression_statement "pcVar38 = keyword;" (assignment_expression "pcVar38 = keyword" identifier = identifier) ;) (if_statement "if (iVar7 == 0x3d) {\n              iVar35 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }" if (parenthesized_expression "(iVar7 == 0x3d)" ( (binary_expression "iVar7 == 0x3d" identifier == number_literal) )) (compound_statement "{\n              iVar35 = 0x7a;\n            }" { (expression_statement "iVar35 = 0x7a;" (assignment_expression "iVar35 = 0x7a" identifier = number_literal) ;) }) (else_clause "else {\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }" else (compound_statement "{\n              do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);\n              iVar35 = 0x7a;\n              puVar9 = *ppuVar8;\n            }" { (do_statement "do {\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar7 != 0x3d);" do (compound_statement "{\n                if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }\n                iVar7 = ReadBlobByte(pIVar6);\n                if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }\n              }" { (if_statement "if ((uint)((int)pcVar38 - (int)keyword) < 0xfff) {\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }" if (parenthesized_expression "((uint)((int)pcVar38 - (int)keyword) < 0xfff)" ( (binary_expression "(uint)((int)pcVar38 - (int)keyword) < 0xfff" (call_expression "(uint)((int)pcVar38 - (int)keyword)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pcVar38 - (int)keyword)" ( (binary_expression "(int)pcVar38 - (int)keyword" (cast_expression "(int)pcVar38" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)keyword" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < number_literal) )) (compound_statement "{\n                  *pcVar38 = (char)iVar7;\n                  pcVar38 = pcVar38 + 1;\n                }" { (expression_statement "*pcVar38 = (char)iVar7;" (assignment_expression "*pcVar38 = (char)iVar7" (pointer_expression "*pcVar38" * identifier) = (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pcVar38 = pcVar38 + 1;" (assignment_expression "pcVar38 = pcVar38 + 1" identifier = (binary_expression "pcVar38 + 1" identifier + number_literal)) ;) })) (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (if_statement "if (iVar7 == -1) {\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n                  iVar35 = -2;\n                  puVar9 = *ppuVar8;\n                  goto LAB_0025abb9;\n                }" { (expression_statement "iVar35 = -2;" (assignment_expression "iVar35 = -2" identifier = number_literal) ;) (expression_statement "puVar9 = *ppuVar8;" (assignment_expression "puVar9 = *ppuVar8" identifier = (pointer_expression "*ppuVar8" * identifier)) ;) (goto_statement "goto LAB_0025abb9;" goto statement_identifier ;) })) }) while (parenthesized_expression "(iVar7 != 0x3d)" ( (binary_expression "iVar7 != 0x3d" identifier != number_literal) )) ;) (expression_statement "iVar35 = 0x7a;" (assignment_expression "iVar35 = 0x7a" identifier = number_literal) ;) (expression_statement "puVar9 = *ppuVar8;" (assignment_expression "puVar9 = *ppuVar8" identifier = (pointer_expression "*ppuVar8" * identifier)) ;) }))) (labeled_statement "LAB_0025abb9:\n            *pcVar38 = '\0';" statement_identifier : (expression_statement "*pcVar38 = '\0';" (assignment_expression "*pcVar38 = '\0'" (pointer_expression "*pcVar38" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (if_statement "if ((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0) {\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }" if (parenthesized_expression "((*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0)" ( (binary_expression "(*(ushort *)((int)puVar9 + iVar35) & 0x2000) != 0" (parenthesized_expression "(*(ushort *)((int)puVar9 + iVar35) & 0x2000)" ( (binary_expression "*(ushort *)((int)puVar9 + iVar35) & 0x2000" (pointer_expression "*(ushort *)((int)puVar9 + iVar35)" * (cast_expression "(ushort *)((int)puVar9 + iVar35)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar9 + iVar35)" ( (binary_expression "(int)puVar9 + iVar35" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);\n            }" { (do_statement "do {\n                iVar7 = ReadBlobByte(pIVar6);\n              } while ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0);" do (compound_statement "{\n                iVar7 = ReadBlobByte(pIVar6);\n              }" { (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) }) while (parenthesized_expression "((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar8 + iVar7 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar8 + iVar7 * 2 + 1)" ( (binary_expression "(int)*ppuVar8 + iVar7 * 2 + 1" (binary_expression "(int)*ppuVar8 + iVar7 * 2" (cast_expression "(int)*ppuVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar8" * identifier)) + (binary_expression "iVar7 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) ;) })) (expression_statement "local_30ac = local_30a4;" (assignment_expression "local_30ac = local_30a4" identifier = identifier) ;) (if_statement "if (iVar7 == 0x3d) {\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }" if (parenthesized_expression "(iVar7 == 0x3d)" ( (binary_expression "iVar7 == 0x3d" identifier == number_literal) )) (compound_statement "{\n              iVar7 = ReadBlobByte(pIVar6);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar34;\n              do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );\n            }" { (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (expression_statement "local_30a4 = (char *)0xfff;" (assignment_expression "local_30a4 = (char *)0xfff" identifier = (cast_expression "(char *)0xfff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_30ac = pcVar34;" (assignment_expression "local_30ac = pcVar34" identifier = identifier) ;) (do_statement "do {\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              } while ((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      );" do (compound_statement "{\n                if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }\n                *local_30ac = (char)iVar7;\n                iVar7 = ReadBlobByte(pIVar6);\n                pcVar38 = local_30ac + 1;\n                if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }\n                local_30ac = pcVar38;\n              }" { (if_statement "if ((iVar7 == 0x7d) || (iVar7 == -1)) {\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }" if (parenthesized_expression "((iVar7 == 0x7d) || (iVar7 == -1))" ( (binary_expression "(iVar7 == 0x7d) || (iVar7 == -1)" (parenthesized_expression "(iVar7 == 0x7d)" ( (binary_expression "iVar7 == 0x7d" identifier == number_literal) )) || (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) ))) )) (compound_statement "{\n                  if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }" { (if_statement "if (pcVar34 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }" if (parenthesized_expression "(pcVar34 == (char *)0x0)" ( (binary_expression "pcVar34 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";\n                    severity = ErrorException;\n                    sVar12 = 0x14c;\n                    goto LAB_0025b781;\n                  }" { (labeled_statement "LAB_0025b8e1:\n                    pcVar34 = "MemoryAllocationFailed";" statement_identifier : (expression_statement "pcVar34 = "MemoryAllocationFailed";" (assignment_expression "pcVar34 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;)) (expression_statement "severity = ErrorException;" (assignment_expression "severity = ErrorException" identifier = identifier) ;) (expression_statement "sVar12 = 0x14c;" (assignment_expression "sVar12 = 0x14c" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (if_statement "if (local_30a4 <= local_30ac + (1 - (int)pcVar34)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }" if (parenthesized_expression "(local_30a4 <= local_30ac + (1 - (int)pcVar34))" ( (binary_expression "local_30a4 <= local_30ac + (1 - (int)pcVar34)" identifier <= (binary_expression "local_30ac + (1 - (int)pcVar34)" identifier + (parenthesized_expression "(1 - (int)pcVar34)" ( (binary_expression "1 - (int)pcVar34" number_literal - (cast_expression "(int)pcVar34" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);\n                  if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar21 = strlen(pcVar34);\n                  local_30ac = pcVar34 + sVar21;\n                }" { (expression_statement "local_30a4 = (char *)((int)local_30a4 * 2);" (assignment_expression "local_30a4 = (char *)((int)local_30a4 * 2)" identifier = (cast_expression "(char *)((int)local_30a4 * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30a4 * 2)" ( (binary_expression "(int)local_30a4 * 2" (cast_expression "(int)local_30a4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "*local_30ac = '\0';" (assignment_expression "*local_30ac = '\0'" (pointer_expression "*local_30ac" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1);" (assignment_expression "pcVar34 = (char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1)" identifier = (cast_expression "(char *)ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(pcVar34,(size_t)(local_30a4 + 0x1000),1)" identifier (argument_list "(pcVar34,(size_t)(local_30a4 + 0x1000),1)" ( identifier , (cast_expression "(size_t)(local_30a4 + 0x1000)" ( (type_descriptor "size_t" primitive_type) ) (parenthesized_expression "(local_30a4 + 0x1000)" ( (binary_expression "local_30a4 + 0x1000" identifier + number_literal) ))) , number_literal ))))) ;) (if_statement "if (pcVar34 == (char *)0x0) goto LAB_0025b8e1;" if (parenthesized_expression "(pcVar34 == (char *)0x0)" ( (binary_expression "pcVar34 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0025b8e1;" goto statement_identifier ;)) (expression_statement "sVar21 = strlen(pcVar34);" (assignment_expression "sVar21 = strlen(pcVar34)" identifier = (call_expression "strlen(pcVar34)" identifier (argument_list "(pcVar34)" ( identifier )))) ;) (expression_statement "local_30ac = pcVar34 + sVar21;" (assignment_expression "local_30ac = pcVar34 + sVar21" identifier = (binary_expression "pcVar34 + sVar21" identifier + identifier)) ;) })) (expression_statement "*local_30ac = (char)iVar7;" (assignment_expression "*local_30ac = (char)iVar7" (pointer_expression "*local_30ac" * identifier) = (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (expression_statement "pcVar38 = local_30ac + 1;" (assignment_expression "pcVar38 = local_30ac + 1" identifier = (binary_expression "local_30ac + 1" identifier + number_literal)) ;) (if_statement "if ((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }" if (parenthesized_expression "((iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d))" ( (binary_expression "(iVar7 == 0x5c) && (iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)" (parenthesized_expression "(iVar7 == 0x5c)" ( (binary_expression "iVar7 == 0x5c" identifier == number_literal) )) && (parenthesized_expression "(iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d)" ( (comma_expression "iVar7 = ReadBlobByte(pIVar6), iVar7 == 0x7d" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) , (binary_expression "iVar7 == 0x7d" identifier == number_literal)) ))) )) (compound_statement "{\n                  local_30ac[1] = '}';\n                  iVar7 = ReadBlobByte(pIVar6);\n                  pcVar38 = local_30ac + 2;\n                }" { (expression_statement "local_30ac[1] = '}';" (assignment_expression "local_30ac[1] = '}'" (subscript_expression "local_30ac[1]" identifier [ number_literal ]) = (char_literal "'}'" ' character ')) ;) (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (expression_statement "pcVar38 = local_30ac + 2;" (assignment_expression "pcVar38 = local_30ac + 2" identifier = (binary_expression "local_30ac + 2" identifier + number_literal)) ;) })) (expression_statement "local_30ac = pcVar38;" (assignment_expression "local_30ac = pcVar38" identifier = identifier) ;) }) while (parenthesized_expression "((*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)\n                      )" ( (binary_expression "(*pcVar34 == '{') || ((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)" (parenthesized_expression "(*pcVar34 == '{')" ( (binary_expression "*pcVar34 == '{'" (pointer_expression "*pcVar34" * identifier) == (char_literal "'{'" ' character ')) )) || (parenthesized_expression "((*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar8 + iVar7 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar8 + iVar7 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar8 + iVar7 * 2 + 1)" ( (binary_expression "(int)*ppuVar8 + iVar7 * 2 + 1" (binary_expression "(int)*ppuVar8 + iVar7 * 2" (cast_expression "(int)*ppuVar8" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar8" * identifier)) + (binary_expression "iVar7 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ;) })) (expression_statement "local_30a4 = pcVar34;" (assignment_expression "local_30a4 = pcVar34" identifier = identifier) ;) (expression_statement "*local_30ac = '\0';" (assignment_expression "*local_30ac = '\0'" (pointer_expression "*local_30ac" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*local_30a4 == '{') {\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }" if (parenthesized_expression "(*local_30a4 == '{')" ( (binary_expression "*local_30a4 == '{'" (pointer_expression "*local_30a4" * identifier) == (char_literal "'{'" ' character ')) )) (compound_statement "{\n              sVar21 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar21);\n            }" { (expression_statement "sVar21 = strlen(local_30a4);" (assignment_expression "sVar21 = strlen(local_30a4)" identifier = (call_expression "strlen(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "CopyMagickString(local_30a4,local_30a4 + 1,sVar21);" (call_expression "CopyMagickString(local_30a4,local_30a4 + 1,sVar21)" identifier (argument_list "(local_30a4,local_30a4 + 1,sVar21)" ( identifier , (binary_expression "local_30a4 + 1" identifier + number_literal) , identifier ))) ;) })) (switch_statement "switch(keyword[0]) {\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }" switch (parenthesized_expression "(keyword[0])" ( (subscript_expression "keyword[0]" identifier [ number_literal ]) )) (compound_statement "{\n            case 'A':\n            case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;\n            case 'B':\n            case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;\n            case 'C':\n            case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;\n            case 'D':\n            case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;\n            case 'E':\n            case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;\n            default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;\n            case 'G':\n            case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;\n            case 'I':\n            case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;\n            case 'M':\n            case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 'N':\n            case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 'O':\n            case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;\n            case 'P':\n            case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;\n            case 'Q':\n            case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;\n            case 'R':\n            case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;\n            case 'S':\n            case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;\n            case 'T':\n            case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;\n            case 'U':\n            case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;\n            case 'W':\n            case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }\n            }" { (case_statement "case 'A':" case (char_literal "'A'" ' character ') :) (case_statement "case 'a':\n              iVar35 = LocaleCompare(keyword,"alpha-trait");\n              if (iVar35 != 0) goto _L42;\n              PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);\n              if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }\n              break;" case (char_literal "'a'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"alpha-trait");" (assignment_expression "iVar35 = LocaleCompare(keyword,"alpha-trait")" identifier = (call_expression "LocaleCompare(keyword,"alpha-trait")" identifier (argument_list "(keyword,"alpha-trait")" ( identifier , (string_literal ""alpha-trait"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4);" (assignment_expression "PVar20 = ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickPixelTraitOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickPixelTraitOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)PVar20) {\n                pIVar6->alpha_trait = PVar20;\n              }" if (parenthesized_expression "(-1 < (int)PVar20)" ( (binary_expression "-1 < (int)PVar20" number_literal < (cast_expression "(int)PVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                pIVar6->alpha_trait = PVar20;\n              }" { (expression_statement "pIVar6->alpha_trait = PVar20;" (assignment_expression "pIVar6->alpha_trait = PVar20" (field_expression "pIVar6->alpha_trait" identifier -> field_identifier) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'B':" case (char_literal "'B'" ' character ') :) (case_statement "case 'b':\n              iVar35 = LocaleCompare(keyword,"background-color");\n              if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }\nLAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);\n              break;" case (char_literal "'b'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"background-color");" (assignment_expression "iVar35 = LocaleCompare(keyword,"background-color")" identifier = (call_expression "LocaleCompare(keyword,"background-color")" identifier (argument_list "(keyword,"background-color")" ( identifier , (string_literal ""background-color"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                pPVar23 = &pIVar6->background_color;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                pPVar23 = &pIVar6->background_color;\n              }" { (expression_statement "pPVar23 = &pIVar6->background_color;" (assignment_expression "pPVar23 = &pIVar6->background_color" identifier = (pointer_expression "&pIVar6->background_color" & (field_expression "pIVar6->background_color" identifier -> field_identifier))) ;) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"blue-primary");\n                if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }\n                iVar35 = LocaleCompare(keyword,"border-color");\n                if (iVar35 != 0) goto _L42;\n                pPVar23 = &pIVar6->border_color;\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"blue-primary");" (assignment_expression "iVar35 = LocaleCompare(keyword,"blue-primary")" identifier = (call_expression "LocaleCompare(keyword,"blue-primary")" identifier (argument_list "(keyword,"blue-primary")" ( identifier , (string_literal ""blue-primary"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;\n                  if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }\n                  break;\n                }" { (expression_statement "MVar10 = ParseGeometry(local_30a4,&geometry_info);" (assignment_expression "MVar10 = ParseGeometry(local_30a4,&geometry_info)" identifier = (call_expression "ParseGeometry(local_30a4,&geometry_info)" identifier (argument_list "(local_30a4,&geometry_info)" ( identifier , (pointer_expression "&geometry_info" & identifier) )))) ;) (expression_statement "(pIVar6->chromaticity).blue_primary.x = geometry_info.rho;" (assignment_expression "(pIVar6->chromaticity).blue_primary.x = geometry_info.rho" (field_expression "(pIVar6->chromaticity).blue_primary.x" (field_expression "(pIVar6->chromaticity).blue_primary" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) (if_statement "if ((MVar10 & 8) == 0) {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }\n                  else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }" if (parenthesized_expression "((MVar10 & 8) == 0)" ( (binary_expression "(MVar10 & 8) == 0" (parenthesized_expression "(MVar10 & 8)" ( (binary_expression "MVar10 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;\n                  }" { (expression_statement "(pIVar6->chromaticity).blue_primary.y = geometry_info.rho;" (assignment_expression "(pIVar6->chromaticity).blue_primary.y = geometry_info.rho" (field_expression "(pIVar6->chromaticity).blue_primary.y" (field_expression "(pIVar6->chromaticity).blue_primary" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) }) (else_clause "else {\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }" else (compound_statement "{\n                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;\n                  }" { (expression_statement "(pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;" (assignment_expression "(pIVar6->chromaticity).blue_primary.y = geometry_info.sigma" (field_expression "(pIVar6->chromaticity).blue_primary.y" (field_expression "(pIVar6->chromaticity).blue_primary" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.sigma" identifier . field_identifier)) ;) }))) (break_statement "break;" break ;) })) (expression_statement "iVar35 = LocaleCompare(keyword,"border-color");" (assignment_expression "iVar35 = LocaleCompare(keyword,"border-color")" identifier = (call_expression "LocaleCompare(keyword,"border-color")" identifier (argument_list "(keyword,"border-color")" ( identifier , (string_literal ""border-color"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "pPVar23 = &pIVar6->border_color;" (assignment_expression "pPVar23 = &pIVar6->border_color" identifier = (pointer_expression "&pIVar6->border_color" & (field_expression "pIVar6->border_color" identifier -> field_identifier))) ;) }))) (labeled_statement "LAB_0025b456:\n              QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);" statement_identifier : (expression_statement "QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception);" (call_expression "QueryColorCompliance(local_30a4,AllCompliance,pPVar23,exception)" identifier (argument_list "(local_30a4,AllCompliance,pPVar23,exception)" ( identifier , identifier , identifier , identifier ))) ;)) (break_statement "break;" break ;)) (case_statement "case 'C':" case (char_literal "'C'" ' character ') :) (case_statement "case 'c':\n              iVar35 = LocaleCompare(keyword,"class");\n              if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }\n              break;" case (char_literal "'c'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"class");" (assignment_expression "iVar35 = LocaleCompare(keyword,"class")" identifier = (call_expression "LocaleCompare(keyword,"class")" identifier (argument_list "(keyword,"class")" ( identifier , (string_literal ""class"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);\n                if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }\n              }" { (expression_statement "CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4);" (assignment_expression "CVar26 = ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickClassOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickClassOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)CVar26) {\n                  pIVar6->storage_class = CVar26;\n                }" if (parenthesized_expression "(-1 < (int)CVar26)" ( (binary_expression "-1 < (int)CVar26" number_literal < (cast_expression "(int)CVar26" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  pIVar6->storage_class = CVar26;\n                }" { (expression_statement "pIVar6->storage_class = CVar26;" (assignment_expression "pIVar6->storage_class = CVar26" (field_expression "pIVar6->storage_class" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"colors");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"colors");" (assignment_expression "iVar35 = LocaleCompare(keyword,"colors")" identifier = (call_expression "LocaleCompare(keyword,"colors")" identifier (argument_list "(keyword,"colors")" ( identifier , (string_literal ""colors"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->colors = uVar17;\n                }" { (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->colors = uVar17;" (assignment_expression "pIVar6->colors = uVar17" (field_expression "pIVar6->colors" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }" else (compound_statement "{\n                  iVar35 = LocaleCompare(keyword,"colorspace");\n                  if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }\n                }" { (expression_statement "iVar35 = LocaleCompare(keyword,"colorspace");" (assignment_expression "iVar35 = LocaleCompare(keyword,"colorspace")" identifier = (call_expression "LocaleCompare(keyword,"colorspace")" identifier (argument_list "(keyword,"colorspace")" ( identifier , (string_literal ""colorspace"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                    CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);\n                    if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }\n                  }" { (expression_statement "CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4);" (assignment_expression "CVar31 = ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickColorspaceOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickColorspaceOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)CVar31) {\n                      pIVar6->colorspace = CVar31;\n                    }" if (parenthesized_expression "(-1 < (int)CVar31)" ( (binary_expression "-1 < (int)CVar31" number_literal < (cast_expression "(int)CVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                      pIVar6->colorspace = CVar31;\n                    }" { (expression_statement "pIVar6->colorspace = CVar31;" (assignment_expression "pIVar6->colorspace = CVar31" (field_expression "pIVar6->colorspace" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }" else (compound_statement "{\n                    iVar35 = LocaleCompare(keyword,"compression");\n                    if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }\n                  }" { (expression_statement "iVar35 = LocaleCompare(keyword,"compression");" (assignment_expression "iVar35 = LocaleCompare(keyword,"compression")" identifier = (call_expression "LocaleCompare(keyword,"compression")" identifier (argument_list "(keyword,"compression")" ( identifier , (string_literal ""compression"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }\n                    else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                      CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);\n                      if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }\n                    }" { (expression_statement "CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4);" (assignment_expression "CVar30 = ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickCompressOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickCompressOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)CVar30) {\n                        pIVar6->compression = CVar30;\n                      }" if (parenthesized_expression "(-1 < (int)CVar30)" ( (binary_expression "-1 < (int)CVar30" number_literal < (cast_expression "(int)CVar30" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                        pIVar6->compression = CVar30;\n                      }" { (expression_statement "pIVar6->compression = CVar30;" (assignment_expression "pIVar6->compression = CVar30" (field_expression "pIVar6->compression" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }" else (compound_statement "{\n                      iVar35 = LocaleCompare(keyword,"columns");\n                      if (iVar35 != 0) goto _L42;\n                      uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                      pIVar6->columns = uVar17;\n                    }" { (expression_statement "iVar35 = LocaleCompare(keyword,"columns");" (assignment_expression "iVar35 = LocaleCompare(keyword,"columns")" identifier = (call_expression "LocaleCompare(keyword,"columns")" identifier (argument_list "(keyword,"columns")" ( identifier , (string_literal ""columns"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->columns = uVar17;" (assignment_expression "pIVar6->columns = uVar17" (field_expression "pIVar6->columns" identifier -> field_identifier) = identifier) ;) }))) }))) }))) }))) (break_statement "break;" break ;)) (case_statement "case 'D':" case (char_literal "'D'" ' character ') :) (case_statement "case 'd':\n              iVar35 = LocaleCompare(keyword,"delay");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }\n              break;" case (char_literal "'d'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"delay");" (assignment_expression "iVar35 = LocaleCompare(keyword,"delay")" identifier = (call_expression "LocaleCompare(keyword,"delay")" identifier (argument_list "(keyword,"delay")" ( identifier , (string_literal ""delay"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->delay = uVar17;\n              }" { (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->delay = uVar17;" (assignment_expression "pIVar6->delay = uVar17" (field_expression "pIVar6->delay" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"depth");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"depth");" (assignment_expression "iVar35 = LocaleCompare(keyword,"depth")" identifier = (call_expression "LocaleCompare(keyword,"depth")" identifier (argument_list "(keyword,"depth")" ( identifier , (string_literal ""depth"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->depth = uVar17;\n                }" { (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->depth = uVar17;" (assignment_expression "pIVar6->depth = uVar17" (field_expression "pIVar6->depth" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }" else (compound_statement "{\n                  iVar35 = LocaleCompare(keyword,"dispose");\n                  if (iVar35 != 0) goto _L42;\n                  DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }\n                }" { (expression_statement "iVar35 = LocaleCompare(keyword,"dispose");" (assignment_expression "iVar35 = LocaleCompare(keyword,"dispose")" identifier = (call_expression "LocaleCompare(keyword,"dispose")" identifier (argument_list "(keyword,"dispose")" ( identifier , (string_literal ""dispose"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4);" (assignment_expression "DVar19 = ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickDisposeOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickDisposeOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)DVar19) {\n                    pIVar6->dispose = DVar19;\n                  }" if (parenthesized_expression "(-1 < (int)DVar19)" ( (binary_expression "-1 < (int)DVar19" number_literal < (cast_expression "(int)DVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    pIVar6->dispose = DVar19;\n                  }" { (expression_statement "pIVar6->dispose = DVar19;" (assignment_expression "pIVar6->dispose = DVar19" (field_expression "pIVar6->dispose" identifier -> field_identifier) = identifier) ;) })) }))) }))) (break_statement "break;" break ;)) (case_statement "case 'E':" case (char_literal "'E'" ' character ') :) (case_statement "case 'e':\n              iVar35 = LocaleCompare(keyword,"endian");\n              if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }\n              break;" case (char_literal "'e'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"endian");" (assignment_expression "iVar35 = LocaleCompare(keyword,"endian")" identifier = (call_expression "LocaleCompare(keyword,"endian")" identifier (argument_list "(keyword,"endian")" ( identifier , (string_literal ""endian"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);\n                if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }\n              }" { (expression_statement "EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4);" (assignment_expression "EVar27 = ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickEndianOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickEndianOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)EVar27) {\n                  pIVar6->endian = EVar27;\n                }" if (parenthesized_expression "(-1 < (int)EVar27)" ( (binary_expression "-1 < (int)EVar27" number_literal < (cast_expression "(int)EVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  pIVar6->endian = EVar27;\n                }" { (expression_statement "pIVar6->endian = EVar27;" (assignment_expression "pIVar6->endian = EVar27" (field_expression "pIVar6->endian" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"error");\n                if (iVar35 != 0) goto _L42;\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                (pIVar6->error).mean_error_per_pixel = dVar41;\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"error");" (assignment_expression "iVar35 = LocaleCompare(keyword,"error")" identifier = (call_expression "LocaleCompare(keyword,"error")" identifier (argument_list "(keyword,"error")" ( identifier , (string_literal ""error"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);" (assignment_expression "dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0)" identifier = (call_expression "InterpretLocaleValue(local_30a4,(char **)0x0)" identifier (argument_list "(local_30a4,(char **)0x0)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (expression_statement "(pIVar6->error).mean_error_per_pixel = dVar41;" (assignment_expression "(pIVar6->error).mean_error_per_pixel = dVar41" (field_expression "(pIVar6->error).mean_error_per_pixel" (parenthesized_expression "(pIVar6->error)" ( (field_expression "pIVar6->error" identifier -> field_identifier) )) . field_identifier) = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "default:\n_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);\n              break;" default : (labeled_statement "_L42:\n              SetImageProperty(pIVar6,keyword,local_30a4,exception);" statement_identifier : (expression_statement "SetImageProperty(pIVar6,keyword,local_30a4,exception);" (call_expression "SetImageProperty(pIVar6,keyword,local_30a4,exception)" identifier (argument_list "(pIVar6,keyword,local_30a4,exception)" ( identifier , identifier , identifier , identifier ))) ;)) (break_statement "break;" break ;)) (case_statement "case 'G':" case (char_literal "'G'" ' character ') :) (case_statement "case 'g':\n              iVar35 = LocaleCompare(keyword,"gamma");\n              if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }\n              break;" case (char_literal "'g'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"gamma");" (assignment_expression "iVar35 = LocaleCompare(keyword,"gamma")" identifier = (call_expression "LocaleCompare(keyword,"gamma")" identifier (argument_list "(keyword,"gamma")" ( identifier , (string_literal ""gamma"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                pIVar6->gamma = dVar41;\n              }" { (expression_statement "dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);" (assignment_expression "dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0)" identifier = (call_expression "InterpretLocaleValue(local_30a4,(char **)0x0)" identifier (argument_list "(local_30a4,(char **)0x0)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (expression_statement "pIVar6->gamma = dVar41;" (assignment_expression "pIVar6->gamma = dVar41" (field_expression "pIVar6->gamma" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"green-primary");\n                if (iVar35 != 0) goto _L42;\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"green-primary");" (assignment_expression "iVar35 = LocaleCompare(keyword,"green-primary")" identifier = (call_expression "LocaleCompare(keyword,"green-primary")" identifier (argument_list "(keyword,"green-primary")" ( identifier , (string_literal ""green-primary"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "MVar10 = ParseGeometry(local_30a4,&geometry_info);" (assignment_expression "MVar10 = ParseGeometry(local_30a4,&geometry_info)" identifier = (call_expression "ParseGeometry(local_30a4,&geometry_info)" identifier (argument_list "(local_30a4,&geometry_info)" ( identifier , (pointer_expression "&geometry_info" & identifier) )))) ;) (expression_statement "(pIVar6->chromaticity).green_primary.x = geometry_info.rho;" (assignment_expression "(pIVar6->chromaticity).green_primary.x = geometry_info.rho" (field_expression "(pIVar6->chromaticity).green_primary.x" (field_expression "(pIVar6->chromaticity).green_primary" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) (if_statement "if ((MVar10 & 8) == 0) {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }\n                else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }" if (parenthesized_expression "((MVar10 & 8) == 0)" ( (binary_expression "(MVar10 & 8) == 0" (parenthesized_expression "(MVar10 & 8)" ( (binary_expression "MVar10 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;\n                }" { (expression_statement "(pIVar6->chromaticity).green_primary.y = geometry_info.rho;" (assignment_expression "(pIVar6->chromaticity).green_primary.y = geometry_info.rho" (field_expression "(pIVar6->chromaticity).green_primary.y" (field_expression "(pIVar6->chromaticity).green_primary" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) }) (else_clause "else {\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }" else (compound_statement "{\n                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;\n                }" { (expression_statement "(pIVar6->chromaticity).green_primary.y = geometry_info.sigma;" (assignment_expression "(pIVar6->chromaticity).green_primary.y = geometry_info.sigma" (field_expression "(pIVar6->chromaticity).green_primary.y" (field_expression "(pIVar6->chromaticity).green_primary" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.sigma" identifier . field_identifier)) ;) }))) }))) (break_statement "break;" break ;)) (case_statement "case 'I':" case (char_literal "'I'" ' character ') :) (case_statement "case 'i':\n              iVar35 = LocaleCompare(keyword,"id");\n              if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }\n              break;" case (char_literal "'i'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"id");" (assignment_expression "iVar35 = LocaleCompare(keyword,"id")" identifier = (call_expression "LocaleCompare(keyword,"id")" identifier (argument_list "(keyword,"id")" ( identifier , (string_literal ""id"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                CopyMagickString(id,local_30a4,0x1000);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                CopyMagickString(id,local_30a4,0x1000);\n              }" { (expression_statement "CopyMagickString(id,local_30a4,0x1000);" (call_expression "CopyMagickString(id,local_30a4,0x1000)" identifier (argument_list "(id,local_30a4,0x1000)" ( identifier , identifier , number_literal ))) ;) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"iterations");\n                if (iVar35 != 0) goto _L42;\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->iterations = uVar17;\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"iterations");" (assignment_expression "iVar35 = LocaleCompare(keyword,"iterations")" identifier = (call_expression "LocaleCompare(keyword,"iterations")" identifier (argument_list "(keyword,"iterations")" ( identifier , (string_literal ""iterations"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->iterations = uVar17;" (assignment_expression "pIVar6->iterations = uVar17" (field_expression "pIVar6->iterations" identifier -> field_identifier) = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 'M':" case (char_literal "'M'" ' character ') :) (case_statement "case 'm':\n              iVar35 = LocaleCompare(keyword,"magick-signature");\n              if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }\n              break;" case (char_literal "'m'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"magick-signature");" (assignment_expression "iVar35 = LocaleCompare(keyword,"magick-signature")" identifier = (call_expression "LocaleCompare(keyword,"magick-signature")" identifier (argument_list "(keyword,"magick-signature")" ( identifier , (string_literal ""magick-signature"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }" { (expression_statement "local_3078 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "local_3078 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"mattecolor");\n                if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }\n                iVar35 = LocaleCompare(keyword,"maximum-error");\n                if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"mattecolor");" (assignment_expression "iVar35 = LocaleCompare(keyword,"mattecolor")" identifier = (call_expression "LocaleCompare(keyword,"mattecolor")" identifier (argument_list "(keyword,"mattecolor")" ( identifier , (string_literal ""mattecolor"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  pPVar23 = &pIVar6->matte_color;\n                  goto LAB_0025b456;\n                }" { (expression_statement "pPVar23 = &pIVar6->matte_color;" (assignment_expression "pPVar23 = &pIVar6->matte_color" identifier = (pointer_expression "&pIVar6->matte_color" & (field_expression "pIVar6->matte_color" identifier -> field_identifier))) ;) (goto_statement "goto LAB_0025b456;" goto statement_identifier ;) })) (expression_statement "iVar35 = LocaleCompare(keyword,"maximum-error");" (assignment_expression "iVar35 = LocaleCompare(keyword,"maximum-error")" identifier = (call_expression "LocaleCompare(keyword,"maximum-error")" identifier (argument_list "(keyword,"maximum-error")" ( identifier , (string_literal ""maximum-error"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                  (pIVar6->error).normalized_maximum_error = dVar41;\n                }" { (expression_statement "dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);" (assignment_expression "dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0)" identifier = (call_expression "InterpretLocaleValue(local_30a4,(char **)0x0)" identifier (argument_list "(local_30a4,(char **)0x0)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (expression_statement "(pIVar6->error).normalized_maximum_error = dVar41;" (assignment_expression "(pIVar6->error).normalized_maximum_error = dVar41" (field_expression "(pIVar6->error).normalized_maximum_error" (parenthesized_expression "(pIVar6->error)" ( (field_expression "pIVar6->error" identifier -> field_identifier) )) . field_identifier) = identifier) ;) }) (else_clause "else {\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }" else (compound_statement "{\n                  iVar35 = LocaleCompare(keyword,"mean-error");\n                  if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }\n                }" { (expression_statement "iVar35 = LocaleCompare(keyword,"mean-error");" (assignment_expression "iVar35 = LocaleCompare(keyword,"mean-error")" identifier = (call_expression "LocaleCompare(keyword,"mean-error")" identifier (argument_list "(keyword,"mean-error")" ( identifier , (string_literal ""mean-error"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                    dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);\n                    (pIVar6->error).normalized_mean_error = dVar41;\n                  }" { (expression_statement "dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0);" (assignment_expression "dVar41 = InterpretLocaleValue(local_30a4,(char **)0x0)" identifier = (call_expression "InterpretLocaleValue(local_30a4,(char **)0x0)" identifier (argument_list "(local_30a4,(char **)0x0)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) ;) (expression_statement "(pIVar6->error).normalized_mean_error = dVar41;" (assignment_expression "(pIVar6->error).normalized_mean_error = dVar41" (field_expression "(pIVar6->error).normalized_mean_error" (parenthesized_expression "(pIVar6->error)" ( (field_expression "pIVar6->error" identifier -> field_identifier) )) . field_identifier) = identifier) ;) }) (else_clause "else {\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }" else (compound_statement "{\n                    iVar35 = LocaleCompare(keyword,"montage");\n                    if (iVar35 != 0) goto _L42;\n                    CloneString(&pIVar6->montage,local_30a4);\n                  }" { (expression_statement "iVar35 = LocaleCompare(keyword,"montage");" (assignment_expression "iVar35 = LocaleCompare(keyword,"montage")" identifier = (call_expression "LocaleCompare(keyword,"montage")" identifier (argument_list "(keyword,"montage")" ( identifier , (string_literal ""montage"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "CloneString(&pIVar6->montage,local_30a4);" (call_expression "CloneString(&pIVar6->montage,local_30a4)" identifier (argument_list "(&pIVar6->montage,local_30a4)" ( (pointer_expression "&pIVar6->montage" & (field_expression "pIVar6->montage" identifier -> field_identifier)) , identifier ))) ;) }))) }))) }))) (break_statement "break;" break ;)) (case_statement "case 'N':" case (char_literal "'N'" ' character ') :) (case_statement "case 'n':\n              iVar35 = LocaleCompare(keyword,"number-channels");\n              if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;" case (char_literal "'n'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"number-channels");" (assignment_expression "iVar35 = LocaleCompare(keyword,"number-channels")" identifier = (call_expression "LocaleCompare(keyword,"number-channels")" identifier (argument_list "(keyword,"number-channels")" ( identifier , (string_literal ""number-channels"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                pIVar6->number_channels = uVar17;\n              }" { (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->number_channels = uVar17;" (assignment_expression "pIVar6->number_channels = uVar17" (field_expression "pIVar6->number_channels" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"number-meta-channels");\n                if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"number-meta-channels");" (assignment_expression "iVar35 = LocaleCompare(keyword,"number-meta-channels")" identifier = (call_expression "LocaleCompare(keyword,"number-meta-channels")" identifier (argument_list "(keyword,"number-meta-channels")" ( identifier , (string_literal ""number-meta-channels"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                  pIVar6->number_meta_channels = uVar17;\n                  if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }" { (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->number_meta_channels = uVar17;" (assignment_expression "pIVar6->number_meta_channels = uVar17" (field_expression "pIVar6->number_meta_channels" identifier -> field_identifier) = identifier) ;) (if_statement "if (0x40 < uVar17) {\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }" if (parenthesized_expression "(0x40 < uVar17)" ( (binary_expression "0x40 < uVar17" number_literal < identifier) )) (compound_statement "{\n                    if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar34 = "ImproperImageHeader";\n                    severity = CorruptImageError;\n                    sVar12 = 0x245;\n                    goto LAB_0025b781;\n                  }" { (if_statement "if (local_3084 != (LinkedListInfo *)0x0) {\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }" if (parenthesized_expression "(local_3084 != (LinkedListInfo *)0x0)" ( (binary_expression "local_3084 != (LinkedListInfo *)0x0" identifier != (cast_expression "(LinkedListInfo *)0x0" ( (type_descriptor "LinkedListInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);\n                    }" { (expression_statement "DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,\n                                        (_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , (cast_expression "(_func_void_ptr_void_ptr *)\n                                        PTR_RelinquishMagickMemory_0041dfd8" ( (type_descriptor "_func_void_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier ))) ;) (expression_statement "pcVar34 = "ImproperImageHeader";" (assignment_expression "pcVar34 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar12 = 0x245;" (assignment_expression "sVar12 = 0x245" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) })) }))) (break_statement "break;" break ;)) (case_statement "case 'O':" case (char_literal "'O'" ' character ') :) (case_statement "case 'o':\n              iVar35 = LocaleCompare(keyword,"orientation");\n              if (iVar35 != 0) goto _L42;\n              OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);\n              if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }\n              break;" case (char_literal "'o'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"orientation");" (assignment_expression "iVar35 = LocaleCompare(keyword,"orientation")" identifier = (call_expression "LocaleCompare(keyword,"orientation")" identifier (argument_list "(keyword,"orientation")" ( identifier , (string_literal ""orientation"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4);" (assignment_expression "OVar18 = ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickOrientationOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickOrientationOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)OVar18) {\n                pIVar6->orientation = OVar18;\n              }" if (parenthesized_expression "(-1 < (int)OVar18)" ( (binary_expression "-1 < (int)OVar18" number_literal < (cast_expression "(int)OVar18" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                pIVar6->orientation = OVar18;\n              }" { (expression_statement "pIVar6->orientation = OVar18;" (assignment_expression "pIVar6->orientation = OVar18" (field_expression "pIVar6->orientation" identifier -> field_identifier) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'P':" case (char_literal "'P'" ' character ') :) (case_statement "case 'p':\n              iVar35 = LocaleCompare(keyword,"page");\n              if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }\n              break;" case (char_literal "'p'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"page");" (assignment_expression "iVar35 = LocaleCompare(keyword,"page")" identifier = (call_expression "LocaleCompare(keyword,"page")" identifier (argument_list "(keyword,"page")" ( identifier , (string_literal ""page"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                pcVar34 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(pcVar34,&pIVar6->page);\n                DestroyString(pcVar34);\n              }" { (expression_statement "pcVar34 = GetPageGeometry(local_30a4);" (assignment_expression "pcVar34 = GetPageGeometry(local_30a4)" identifier = (call_expression "GetPageGeometry(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "ParseAbsoluteGeometry(pcVar34,&pIVar6->page);" (call_expression "ParseAbsoluteGeometry(pcVar34,&pIVar6->page)" identifier (argument_list "(pcVar34,&pIVar6->page)" ( identifier , (pointer_expression "&pIVar6->page" & (field_expression "pIVar6->page" identifier -> field_identifier)) ))) ;) (expression_statement "DestroyString(pcVar34);" (call_expression "DestroyString(pcVar34)" identifier (argument_list "(pcVar34)" ( identifier ))) ;) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"pixel-intensity");\n                if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"pixel-intensity");" (assignment_expression "iVar35 = LocaleCompare(keyword,"pixel-intensity")" identifier = (call_expression "LocaleCompare(keyword,"pixel-intensity")" identifier (argument_list "(keyword,"pixel-intensity")" ( identifier , (string_literal ""pixel-intensity"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }\n                }" { (expression_statement "PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4);" (assignment_expression "PVar28 = ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickPixelIntensityOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickPixelIntensityOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)PVar28) {\n                    pIVar6->intensity = PVar28;\n                  }" if (parenthesized_expression "(-1 < (int)PVar28)" ( (binary_expression "-1 < (int)PVar28" number_literal < (cast_expression "(int)PVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    pIVar6->intensity = PVar28;\n                  }" { (expression_statement "pIVar6->intensity = PVar28;" (assignment_expression "pIVar6->intensity = PVar28" (field_expression "pIVar6->intensity" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }" else (compound_statement "{\n                  iVar35 = LocaleCompare(keyword,"profile");\n                  if (iVar35 != 0) goto _L42;\n                  if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  pcVar34 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,pcVar34);\n                }" { (expression_statement "iVar35 = LocaleCompare(keyword,"profile");" (assignment_expression "iVar35 = LocaleCompare(keyword,"profile")" identifier = (call_expression "LocaleCompare(keyword,"profile")" identifier (argument_list "(keyword,"profile")" ( identifier , (string_literal ""profile"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (if_statement "if (local_3084 == (LinkedListInfo *)0x0) {\n                    local_3084 = NewLinkedList(0);\n                  }" if (parenthesized_expression "(local_3084 == (LinkedListInfo *)0x0)" ( (binary_expression "local_3084 == (LinkedListInfo *)0x0" identifier == (cast_expression "(LinkedListInfo *)0x0" ( (type_descriptor "LinkedListInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    local_3084 = NewLinkedList(0);\n                  }" { (expression_statement "local_3084 = NewLinkedList(0);" (assignment_expression "local_3084 = NewLinkedList(0)" identifier = (call_expression "NewLinkedList(0)" identifier (argument_list "(0)" ( number_literal )))) ;) })) (expression_statement "pcVar34 = AcquireString(local_30a4);" (assignment_expression "pcVar34 = AcquireString(local_30a4)" identifier = (call_expression "AcquireString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "AppendValueToLinkedList(local_3084,pcVar34);" (call_expression "AppendValueToLinkedList(local_3084,pcVar34)" identifier (argument_list "(local_3084,pcVar34)" ( identifier , identifier ))) ;) }))) }))) (break_statement "break;" break ;)) (case_statement "case 'Q':" case (char_literal "'Q'" ' character ') :) (case_statement "case 'q':\n              iVar35 = LocaleCompare(keyword,"quality");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->quality = uVar17;\n              break;" case (char_literal "'q'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"quality");" (assignment_expression "iVar35 = LocaleCompare(keyword,"quality")" identifier = (call_expression "LocaleCompare(keyword,"quality")" identifier (argument_list "(keyword,"quality")" ( identifier , (string_literal ""quality"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->quality = uVar17;" (assignment_expression "pIVar6->quality = uVar17" (field_expression "pIVar6->quality" identifier -> field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'R':" case (char_literal "'R'" ' character ') :) (case_statement "case 'r':\n              iVar35 = LocaleCompare(keyword,"red-primary");\n              if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }\n              break;" case (char_literal "'r'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"red-primary");" (assignment_expression "iVar35 = LocaleCompare(keyword,"red-primary")" identifier = (call_expression "LocaleCompare(keyword,"red-primary")" identifier (argument_list "(keyword,"red-primary")" ( identifier , (string_literal ""red-primary"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;\n                if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }\n              }" { (expression_statement "MVar10 = ParseGeometry(local_30a4,&geometry_info);" (assignment_expression "MVar10 = ParseGeometry(local_30a4,&geometry_info)" identifier = (call_expression "ParseGeometry(local_30a4,&geometry_info)" identifier (argument_list "(local_30a4,&geometry_info)" ( identifier , (pointer_expression "&geometry_info" & identifier) )))) ;) (expression_statement "(pIVar6->chromaticity).red_primary.x = geometry_info.rho;" (assignment_expression "(pIVar6->chromaticity).red_primary.x = geometry_info.rho" (field_expression "(pIVar6->chromaticity).red_primary.x" (field_expression "(pIVar6->chromaticity).red_primary" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) (if_statement "if ((MVar10 & 8) != 0) {\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }" if (parenthesized_expression "((MVar10 & 8) != 0)" ( (binary_expression "(MVar10 & 8) != 0" (parenthesized_expression "(MVar10 & 8)" ( (binary_expression "MVar10 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;\n                }" { (expression_statement "(pIVar6->chromaticity).red_primary.y = geometry_info.sigma;" (assignment_expression "(pIVar6->chromaticity).red_primary.y = geometry_info.sigma" (field_expression "(pIVar6->chromaticity).red_primary.y" (field_expression "(pIVar6->chromaticity).red_primary" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.sigma" identifier . field_identifier)) ;) })) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"rendering-intent");\n                if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"rendering-intent");" (assignment_expression "iVar35 = LocaleCompare(keyword,"rendering-intent")" identifier = (call_expression "LocaleCompare(keyword,"rendering-intent")" identifier (argument_list "(keyword,"rendering-intent")" ( identifier , (string_literal ""rendering-intent"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }\n                else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);\n                  if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }\n                }" { (expression_statement "RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4);" (assignment_expression "RVar29 = ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickIntentOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickIntentOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)RVar29) {\n                    pIVar6->rendering_intent = RVar29;\n                  }" if (parenthesized_expression "(-1 < (int)RVar29)" ( (binary_expression "-1 < (int)RVar29" number_literal < (cast_expression "(int)RVar29" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    pIVar6->rendering_intent = RVar29;\n                  }" { (expression_statement "pIVar6->rendering_intent = RVar29;" (assignment_expression "pIVar6->rendering_intent = RVar29" (field_expression "pIVar6->rendering_intent" identifier -> field_identifier) = identifier) ;) })) }) (else_clause "else {\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }" else (compound_statement "{\n                  iVar35 = LocaleCompare(keyword,"resolution");\n                  if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }\n                }" { (expression_statement "iVar35 = LocaleCompare(keyword,"resolution");" (assignment_expression "iVar35 = LocaleCompare(keyword,"resolution")" identifier = (call_expression "LocaleCompare(keyword,"resolution")" identifier (argument_list "(keyword,"resolution")" ( identifier , (string_literal ""resolution"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }\n                  else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                    MVar10 = ParseGeometry(local_30a4,&geometry_info);\n                    (pIVar6->resolution).x = geometry_info.rho;\n                    if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }\n                  }" { (expression_statement "MVar10 = ParseGeometry(local_30a4,&geometry_info);" (assignment_expression "MVar10 = ParseGeometry(local_30a4,&geometry_info)" identifier = (call_expression "ParseGeometry(local_30a4,&geometry_info)" identifier (argument_list "(local_30a4,&geometry_info)" ( identifier , (pointer_expression "&geometry_info" & identifier) )))) ;) (expression_statement "(pIVar6->resolution).x = geometry_info.rho;" (assignment_expression "(pIVar6->resolution).x = geometry_info.rho" (field_expression "(pIVar6->resolution).x" (parenthesized_expression "(pIVar6->resolution)" ( (field_expression "pIVar6->resolution" identifier -> field_identifier) )) . field_identifier) = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) (if_statement "if ((MVar10 & 8) == 0) {\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }\n                    else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }" if (parenthesized_expression "((MVar10 & 8) == 0)" ( (binary_expression "(MVar10 & 8) == 0" (parenthesized_expression "(MVar10 & 8)" ( (binary_expression "MVar10 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      (pIVar6->resolution).y = geometry_info.rho;\n                    }" { (expression_statement "(pIVar6->resolution).y = geometry_info.rho;" (assignment_expression "(pIVar6->resolution).y = geometry_info.rho" (field_expression "(pIVar6->resolution).y" (parenthesized_expression "(pIVar6->resolution)" ( (field_expression "pIVar6->resolution" identifier -> field_identifier) )) . field_identifier) = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) }) (else_clause "else {\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }" else (compound_statement "{\n                      (pIVar6->resolution).y = geometry_info.sigma;\n                    }" { (expression_statement "(pIVar6->resolution).y = geometry_info.sigma;" (assignment_expression "(pIVar6->resolution).y = geometry_info.sigma" (field_expression "(pIVar6->resolution).y" (parenthesized_expression "(pIVar6->resolution)" ( (field_expression "pIVar6->resolution" identifier -> field_identifier) )) . field_identifier) = (field_expression "geometry_info.sigma" identifier . field_identifier)) ;) }))) }) (else_clause "else {\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }" else (compound_statement "{\n                    iVar35 = LocaleCompare(keyword,"rows");\n                    if (iVar35 != 0) goto _L42;\n                    uVar17 = strtoul(local_30a4,(char **)0x0,10);\n                    pIVar6->rows = uVar17;\n                  }" { (expression_statement "iVar35 = LocaleCompare(keyword,"rows");" (assignment_expression "iVar35 = LocaleCompare(keyword,"rows")" identifier = (call_expression "LocaleCompare(keyword,"rows")" identifier (argument_list "(keyword,"rows")" ( identifier , (string_literal ""rows"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->rows = uVar17;" (assignment_expression "pIVar6->rows = uVar17" (field_expression "pIVar6->rows" identifier -> field_identifier) = identifier) ;) }))) }))) }))) (break_statement "break;" break ;)) (case_statement "case 'S':" case (char_literal "'S'" ' character ') :) (case_statement "case 's':\n              iVar35 = LocaleCompare(keyword,"scene");\n              if (iVar35 != 0) goto _L42;\n              uVar17 = strtoul(local_30a4,(char **)0x0,10);\n              pIVar6->scene = uVar17;\n              break;" case (char_literal "'s'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"scene");" (assignment_expression "iVar35 = LocaleCompare(keyword,"scene")" identifier = (call_expression "LocaleCompare(keyword,"scene")" identifier (argument_list "(keyword,"scene")" ( identifier , (string_literal ""scene"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "uVar17 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar17 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->scene = uVar17;" (assignment_expression "pIVar6->scene = uVar17" (field_expression "pIVar6->scene" identifier -> field_identifier) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 'T':" case (char_literal "'T'" ' character ') :) (case_statement "case 't':\n              iVar35 = LocaleCompare(keyword,"ticks-per-second");\n              if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }\n              break;" case (char_literal "'t'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"ticks-per-second");" (assignment_expression "iVar35 = LocaleCompare(keyword,"ticks-per-second")" identifier = (call_expression "LocaleCompare(keyword,"ticks-per-second")" identifier (argument_list "(keyword,"ticks-per-second")" ( identifier , (string_literal ""ticks-per-second"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }\n              else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                lVar25 = strtol(local_30a4,(char **)0x0,10);\n                pIVar6->ticks_per_second = lVar25;\n              }" { (expression_statement "lVar25 = strtol(local_30a4,(char **)0x0,10);" (assignment_expression "lVar25 = strtol(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtol(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "pIVar6->ticks_per_second = lVar25;" (assignment_expression "pIVar6->ticks_per_second = lVar25" (field_expression "pIVar6->ticks_per_second" identifier -> field_identifier) = identifier) ;) }) (else_clause "else {\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }" else (compound_statement "{\n                iVar35 = LocaleCompare(keyword,"tile-offset");\n                if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }\n                iVar35 = LocaleCompare(keyword,"type");\n                if (iVar35 != 0) goto _L42;\n                IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);\n                if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }\n              }" { (expression_statement "iVar35 = LocaleCompare(keyword,"tile-offset");" (assignment_expression "iVar35 = LocaleCompare(keyword,"tile-offset")" identifier = (call_expression "LocaleCompare(keyword,"tile-offset")" identifier (argument_list "(keyword,"tile-offset")" ( identifier , (string_literal ""tile-offset"" " string_content ") )))) ;) (if_statement "if (iVar35 == 0) {\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }" if (parenthesized_expression "(iVar35 == 0)" ( (binary_expression "iVar35 == 0" identifier == number_literal) )) (compound_statement "{\n                  pcVar34 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);\n                  DestroyString(pcVar34);\n                }" { (expression_statement "pcVar34 = GetPageGeometry(local_30a4);" (assignment_expression "pcVar34 = GetPageGeometry(local_30a4)" identifier = (call_expression "GetPageGeometry(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset);" (call_expression "ParseAbsoluteGeometry(pcVar34,&pIVar6->tile_offset)" identifier (argument_list "(pcVar34,&pIVar6->tile_offset)" ( identifier , (pointer_expression "&pIVar6->tile_offset" & (field_expression "pIVar6->tile_offset" identifier -> field_identifier)) ))) ;) (expression_statement "DestroyString(pcVar34);" (call_expression "DestroyString(pcVar34)" identifier (argument_list "(pcVar34)" ( identifier ))) ;) })) (expression_statement "iVar35 = LocaleCompare(keyword,"type");" (assignment_expression "iVar35 = LocaleCompare(keyword,"type")" identifier = (call_expression "LocaleCompare(keyword,"type")" identifier (argument_list "(keyword,"type")" ( identifier , (string_literal ""type"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4);" (assignment_expression "IVar16 = ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickTypeOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickTypeOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)IVar16) {\n                  pIVar6->type = IVar16;\n                }" if (parenthesized_expression "(-1 < (int)IVar16)" ( (binary_expression "-1 < (int)IVar16" number_literal < (cast_expression "(int)IVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  pIVar6->type = IVar16;\n                }" { (expression_statement "pIVar6->type = IVar16;" (assignment_expression "pIVar6->type = IVar16" (field_expression "pIVar6->type" identifier -> field_identifier) = identifier) ;) })) }))) (break_statement "break;" break ;)) (case_statement "case 'U':" case (char_literal "'U'" ' character ') :) (case_statement "case 'u':\n              iVar35 = LocaleCompare(keyword,"units");\n              if (iVar35 != 0) goto _L42;\n              RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);\n              if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }\n              break;" case (char_literal "'u'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"units");" (assignment_expression "iVar35 = LocaleCompare(keyword,"units")" identifier = (call_expression "LocaleCompare(keyword,"units")" identifier (argument_list "(keyword,"units")" ( identifier , (string_literal ""units"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4);" (assignment_expression "RVar15 = ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4)" identifier = (call_expression "ParseCommandOption(MagickResolutionOptions,MagickFalse,local_30a4)" identifier (argument_list "(MagickResolutionOptions,MagickFalse,local_30a4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (-1 < (int)RVar15) {\n                pIVar6->units = RVar15;\n              }" if (parenthesized_expression "(-1 < (int)RVar15)" ( (binary_expression "-1 < (int)RVar15" number_literal < (cast_expression "(int)RVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                pIVar6->units = RVar15;\n              }" { (expression_statement "pIVar6->units = RVar15;" (assignment_expression "pIVar6->units = RVar15" (field_expression "pIVar6->units" identifier -> field_identifier) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 'W':" case (char_literal "'W'" ' character ') :) (case_statement "case 'w':\n              iVar35 = LocaleCompare(keyword,"white-point");\n              if (iVar35 != 0) goto _L42;\n              MVar10 = ParseGeometry(local_30a4,&geometry_info);\n              (pIVar6->chromaticity).white_point.x = geometry_info.rho;\n              if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }" case (char_literal "'w'" ' character ') : (expression_statement "iVar35 = LocaleCompare(keyword,"white-point");" (assignment_expression "iVar35 = LocaleCompare(keyword,"white-point")" identifier = (call_expression "LocaleCompare(keyword,"white-point")" identifier (argument_list "(keyword,"white-point")" ( identifier , (string_literal ""white-point"" " string_content ") )))) ;) (if_statement "if (iVar35 != 0) goto _L42;" if (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) (goto_statement "goto _L42;" goto statement_identifier ;)) (expression_statement "MVar10 = ParseGeometry(local_30a4,&geometry_info);" (assignment_expression "MVar10 = ParseGeometry(local_30a4,&geometry_info)" identifier = (call_expression "ParseGeometry(local_30a4,&geometry_info)" identifier (argument_list "(local_30a4,&geometry_info)" ( identifier , (pointer_expression "&geometry_info" & identifier) )))) ;) (expression_statement "(pIVar6->chromaticity).white_point.x = geometry_info.rho;" (assignment_expression "(pIVar6->chromaticity).white_point.x = geometry_info.rho" (field_expression "(pIVar6->chromaticity).white_point.x" (field_expression "(pIVar6->chromaticity).white_point" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) (if_statement "if ((MVar10 & 8) == 0) {\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }\n              else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }" if (parenthesized_expression "((MVar10 & 8) == 0)" ( (binary_expression "(MVar10 & 8) == 0" (parenthesized_expression "(MVar10 & 8)" ( (binary_expression "MVar10 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                (pIVar6->chromaticity).white_point.y = geometry_info.rho;\n              }" { (expression_statement "(pIVar6->chromaticity).white_point.y = geometry_info.rho;" (assignment_expression "(pIVar6->chromaticity).white_point.y = geometry_info.rho" (field_expression "(pIVar6->chromaticity).white_point.y" (field_expression "(pIVar6->chromaticity).white_point" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.rho" identifier . field_identifier)) ;) }) (else_clause "else {\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }" else (compound_statement "{\n                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;\n              }" { (expression_statement "(pIVar6->chromaticity).white_point.y = geometry_info.sigma;" (assignment_expression "(pIVar6->chromaticity).white_point.y = geometry_info.sigma" (field_expression "(pIVar6->chromaticity).white_point.y" (field_expression "(pIVar6->chromaticity).white_point" (parenthesized_expression "(pIVar6->chromaticity)" ( (field_expression "pIVar6->chromaticity" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (field_expression "geometry_info.sigma" identifier . field_identifier)) ;) })))) })) }))) (goto_statement "goto LAB_0025ac68;" goto statement_identifier ;) }))) (labeled_statement "LAB_0025aca4:\n        DestroyString(local_30a4);" statement_identifier : (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier ))) ;)) (expression_statement "ReadBlobByte(pIVar6);" (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier ))) ;) (expression_statement "iVar7 = LocaleCompare(id,"MagickPixelCache");" (assignment_expression "iVar7 = LocaleCompare(id,"MagickPixelCache")" identifier = (call_expression "LocaleCompare(id,"MagickPixelCache")" identifier (argument_list "(id,"MagickPixelCache")" ( identifier , (string_literal ""MagickPixelCache"" " string_content ") )))) ;) (if_statement "if (((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }" if (parenthesized_expression "(((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1))" ( (binary_expression "((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||\n           (0x3f < pIVar6->depth - 1)" (parenthesized_expression "((((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels))))))))" ( (binary_expression "(((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)) ||\n            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))" (parenthesized_expression "(((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression))" ( (binary_expression "((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)) ||\n             (pIVar6->compression == UndefinedCompression)" (parenthesized_expression "((iVar7 != 0) || (pIVar6->storage_class == UndefinedClass))" ( (binary_expression "(iVar7 != 0) || (pIVar6->storage_class == UndefinedClass)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) || (parenthesized_expression "(pIVar6->storage_class == UndefinedClass)" ( (binary_expression "pIVar6->storage_class == UndefinedClass" (field_expression "pIVar6->storage_class" identifier -> field_identifier) == identifier) ))) )) || (parenthesized_expression "(pIVar6->compression == UndefinedCompression)" ( (binary_expression "pIVar6->compression == UndefinedCompression" (field_expression "pIVar6->compression" identifier -> field_identifier) == identifier) ))) )) || (parenthesized_expression "(((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))" ( (parenthesized_expression "((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels))))))" ( (binary_expression "(pIVar6->columns == 0 || (pIVar6->rows == 0)) ||\n             ((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))" (parenthesized_expression "(pIVar6->columns == 0 || (pIVar6->rows == 0))" ( (binary_expression "pIVar6->columns == 0 || (pIVar6->rows == 0)" (binary_expression "pIVar6->columns == 0" (field_expression "pIVar6->columns" identifier -> field_identifier) == number_literal) || (parenthesized_expression "(pIVar6->rows == 0)" ( (binary_expression "pIVar6->rows == 0" (field_expression "pIVar6->rows" identifier -> field_identifier) == number_literal) ))) )) || (parenthesized_expression "((0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))" ( (parenthesized_expression "(0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels))))" ( (binary_expression "0x40 < pIVar6->number_channels ||\n              ((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))" (binary_expression "0x40 < pIVar6->number_channels" number_literal < (field_expression "pIVar6->number_channels" identifier -> field_identifier)) || (parenthesized_expression "((0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))" ( (parenthesized_expression "(0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels))" ( (binary_expression "0x38 < pIVar6->number_meta_channels ||\n               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)" (binary_expression "0x38 < pIVar6->number_meta_channels" number_literal < (field_expression "pIVar6->number_meta_channels" identifier -> field_identifier)) || (parenthesized_expression "(0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)" ( (binary_expression "0x3f < pIVar6->number_channels + pIVar6->number_meta_channels" number_literal < (binary_expression "pIVar6->number_channels + pIVar6->number_meta_channels" (field_expression "pIVar6->number_channels" identifier -> field_identifier) + (field_expression "pIVar6->number_meta_channels" identifier -> field_identifier))) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "(0x3f < pIVar6->depth - 1)" ( (binary_expression "0x3f < pIVar6->depth - 1" number_literal < (binary_expression "pIVar6->depth - 1" (field_expression "pIVar6->depth" identifier -> field_identifier) - number_literal)) ))) )) (compound_statement "{\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "ImproperImageHeader";\n          severity = CorruptImageError;\n          sVar12 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);\n          CloseBlob(pIVar6);\n          DestroyImageList(pIVar6);\n          pIVar6 = (Image *)0x0;\n          goto LAB_0025b79c;\n        }" { (if_statement "if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }" if (parenthesized_expression "(local_3084 != (LinkedListInfo *)0x0)" ( (binary_expression "local_3084 != (LinkedListInfo *)0x0" identifier != (cast_expression "(LinkedListInfo *)0x0" ( (type_descriptor "LinkedListInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }" { (expression_statement "DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , (cast_expression "(_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8" ( (type_descriptor "_func_void_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "pcVar34 = "ImproperImageHeader";" (assignment_expression "pcVar34 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar12 = 0x31d;" (assignment_expression "sVar12 = 0x31d" identifier = number_literal) ;) (labeled_statement "LAB_0025b781:\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);" statement_identifier : (expression_statement "ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename);" (call_expression "ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename)" identifier (argument_list "(exception,"coders/mpc.c","ReadMPCImage",sVar12,severity,pcVar34,"`%s\'",\n                     image_info->filename)" ( identifier , (string_literal ""coders/mpc.c"" " string_content ") , (string_literal ""ReadMPCImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (field_expression "image_info->filename" identifier -> field_identifier) ))) ;)) (expression_statement "CloseBlob(pIVar6);" (call_expression "CloseBlob(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier ))) ;) (expression_statement "DestroyImageList(pIVar6);" (call_expression "DestroyImageList(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier ))) ;) (expression_statement "pIVar6 = (Image *)0x0;" (assignment_expression "pIVar6 = (Image *)0x0" identifier = (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0025b79c;" goto statement_identifier ;) })) (expression_statement "uVar11 = GetMagickSignature((StringInfo *)0x0);" (assignment_expression "uVar11 = GetMagickSignature((StringInfo *)0x0)" identifier = (call_expression "GetMagickSignature((StringInfo *)0x0)" identifier (argument_list "((StringInfo *)0x0)" ( (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (local_3078 != uVar11) {\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(local_3078 != uVar11)" ( (binary_expression "local_3078 != uVar11" identifier != identifier) )) (compound_statement "{\n          if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar34 = "IncompatibleAPI";\n          severity = CacheError;\n          sVar12 = 0x323;\n          goto LAB_0025b781;\n        }" { (if_statement "if (local_3084 != (LinkedListInfo *)0x0) {\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }" if (parenthesized_expression "(local_3084 != (LinkedListInfo *)0x0)" ( (binary_expression "local_3084 != (LinkedListInfo *)0x0" identifier != (cast_expression "(LinkedListInfo *)0x0" ( (type_descriptor "LinkedListInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n          }" { (expression_statement "DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,\n                              (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , (cast_expression "(_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8" ( (type_descriptor "_func_void_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "pcVar34 = "IncompatibleAPI";" (assignment_expression "pcVar34 = "IncompatibleAPI"" identifier = (string_literal ""IncompatibleAPI"" " string_content ")) ;) (expression_statement "severity = CacheError;" (assignment_expression "severity = CacheError" identifier = identifier) ;) (expression_statement "sVar12 = 0x323;" (assignment_expression "sVar12 = 0x323" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if (pIVar6->montage != (char *)0x0) {\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }" if (parenthesized_expression "(pIVar6->montage != (char *)0x0)" ( (binary_expression "pIVar6->montage != (char *)0x0" (field_expression "pIVar6->montage" identifier -> field_identifier) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iVar7 = 0;\n          pcVar34 = AcquireString((char *)0x0);\n          pIVar6->directory = pcVar34;\n          local_30ac = (char *)0x1000;\n          do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);\n        }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pcVar34 = AcquireString((char *)0x0);" (assignment_expression "pcVar34 = AcquireString((char *)0x0)" identifier = (call_expression "AcquireString((char *)0x0)" identifier (argument_list "((char *)0x0)" ( (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "pIVar6->directory = pcVar34;" (assignment_expression "pIVar6->directory = pcVar34" (field_expression "pIVar6->directory" identifier -> field_identifier) = identifier) ;) (expression_statement "local_30ac = (char *)0x1000;" (assignment_expression "local_30ac = (char *)0x1000" identifier = (cast_expression "(char *)0x1000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          } while (iVar35 != 0);" do (compound_statement "{\n            *pcVar34 = '\0';\n            pcVar38 = pcVar34;\n            if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }\n            iVar35 = ReadBlobByte(pIVar6);\n            if (iVar35 == -1) break;\n            pcVar34 = pcVar38 + 1;\n            *pcVar38 = (char)iVar35;\n            iVar7 = iVar7 + 1;\n          }" { (expression_statement "*pcVar34 = '\0';" (assignment_expression "*pcVar34 = '\0'" (pointer_expression "*pcVar34" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar38 = pcVar34;" (assignment_expression "pcVar38 = pcVar34" identifier = identifier) ;) (if_statement "if (local_30ac <= iVar7 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }" if (parenthesized_expression "(local_30ac <= iVar7 + 0x1000U)" ( (binary_expression "local_30ac <= iVar7 + 0x1000U" identifier <= (binary_expression "iVar7 + 0x1000U" identifier + number_literal)) )) (compound_statement "{\n              local_30ac = (char *)((int)local_30ac * 2);\n              pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);\n              pIVar6->directory = pcVar34;\n              if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }\n              pcVar38 = pcVar34 + iVar7;\n            }" { (expression_statement "local_30ac = (char *)((int)local_30ac * 2);" (assignment_expression "local_30ac = (char *)((int)local_30ac * 2)" identifier = (cast_expression "(char *)((int)local_30ac * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30ac * 2)" ( (binary_expression "(int)local_30ac * 2" (cast_expression "(int)local_30ac" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1);" (assignment_expression "pcVar34 = (char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1)" identifier = (cast_expression "(char *)ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(pIVar6->directory,(int)local_30ac + 0x1000,1)" identifier (argument_list "(pIVar6->directory,(int)local_30ac + 0x1000,1)" ( (field_expression "pIVar6->directory" identifier -> field_identifier) , (binary_expression "(int)local_30ac + 0x1000" (cast_expression "(int)local_30ac" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal ))))) ;) (expression_statement "pIVar6->directory = pcVar34;" (assignment_expression "pIVar6->directory = pcVar34" (field_expression "pIVar6->directory" identifier -> field_identifier) = identifier) ;) (if_statement "if (pcVar34 == (char *)0x0) {\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }" if (parenthesized_expression "(pcVar34 == (char *)0x0)" ( (binary_expression "pcVar34 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar34 = "UnableToReadImageData";\n                severity = CorruptImageError;\n                sVar12 = 0x341;\n                goto LAB_0025b781;\n              }" { (if_statement "if (local_3084 != (LinkedListInfo *)0x0) {\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }" if (parenthesized_expression "(local_3084 != (LinkedListInfo *)0x0)" ( (binary_expression "local_3084 != (LinkedListInfo *)0x0" identifier != (cast_expression "(LinkedListInfo *)0x0" ( (type_descriptor "LinkedListInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);\n                }" { (expression_statement "DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,\n                                    (_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , (cast_expression "(_func_void_ptr_void_ptr *)PTR_RelinquishMagickMemory_0041dfd8" ( (type_descriptor "_func_void_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (expression_statement "pcVar34 = "UnableToReadImageData";" (assignment_expression "pcVar34 = "UnableToReadImageData"" identifier = (string_literal ""UnableToReadImageData"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar12 = 0x341;" (assignment_expression "sVar12 = 0x341" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "pcVar38 = pcVar34 + iVar7;" (assignment_expression "pcVar38 = pcVar34 + iVar7" identifier = (binary_expression "pcVar34 + iVar7" identifier + identifier)) ;) })) (expression_statement "iVar35 = ReadBlobByte(pIVar6);" (assignment_expression "iVar35 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (if_statement "if (iVar35 == -1) break;" if (parenthesized_expression "(iVar35 == -1)" ( (binary_expression "iVar35 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "pcVar34 = pcVar38 + 1;" (assignment_expression "pcVar34 = pcVar38 + 1" identifier = (binary_expression "pcVar38 + 1" identifier + number_literal)) ;) (expression_statement "*pcVar38 = (char)iVar35;" (assignment_expression "*pcVar38 = (char)iVar35" (pointer_expression "*pcVar38" * identifier) = (cast_expression "(char)iVar35" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar7 = iVar7 + 1;" (assignment_expression "iVar7 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar35 != 0)" ( (binary_expression "iVar35 != 0" identifier != number_literal) )) ;) })) (if_statement "if (local_3084 != (LinkedListInfo *)0x0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }" if (parenthesized_expression "(local_3084 != (LinkedListInfo *)0x0)" ( (binary_expression "local_3084 != (LinkedListInfo *)0x0" identifier != (cast_expression "(LinkedListInfo *)0x0" ( (type_descriptor "LinkedListInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);\n        }" { (expression_statement "ResetLinkedListIterator(local_3084);" (call_expression "ResetLinkedListIterator(local_3084)" identifier (argument_list "(local_3084)" ( identifier ))) ;) (expression_statement "local_30ac = (char *)GetNextValueInLinkedList(local_3084);" (assignment_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084)" identifier = (cast_expression "(char *)GetNextValueInLinkedList(local_3084)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextValueInLinkedList(local_3084)" identifier (argument_list "(local_3084)" ( identifier ))))) ;) (if_statement "if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }" if (parenthesized_expression "(local_30ac != (char *)0x0)" ( (binary_expression "local_30ac != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(string_info);\n          }" { (while_statement "while( true ) {\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar11 = ReadBlobMSBLong(pIVar6);\n              MVar40 = GetBlobSize(pIVar6);\n              if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;\n              data = GetStringInfoDatum(string_info);\n              uVar22 = ReadBlob(pIVar6,uVar11,data);\n              if (uVar11 != uVar22) break;\n              local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);\n              DestroyStringInfo(string_info);\n              if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }" { (expression_statement "uVar11 = ReadBlobMSBLong(pIVar6);" (assignment_expression "uVar11 = ReadBlobMSBLong(pIVar6)" identifier = (call_expression "ReadBlobMSBLong(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (expression_statement "MVar40 = GetBlobSize(pIVar6);" (assignment_expression "MVar40 = GetBlobSize(pIVar6)" identifier = (call_expression "GetBlobSize(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (if_statement "if ((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))\n              goto LAB_0025ba84;" if (parenthesized_expression "((((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0))" ( (binary_expression "(((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)) ||\n                 (string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0)" (parenthesized_expression "(((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11))" ( (binary_expression "((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11)" (parenthesized_expression "((int)(MVar40 >> 0x20) == 0)" ( (binary_expression "(int)(MVar40 >> 0x20) == 0" (cast_expression "(int)(MVar40 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(MVar40 >> 0x20)" ( (binary_expression "MVar40 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)MVar40 < uVar11)" ( (binary_expression "(uint)MVar40 < uVar11" (cast_expression "(uint)MVar40" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) )) || (parenthesized_expression "(string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0)" ( (comma_expression "string_info = AcquireStringInfo(uVar11), string_info == (StringInfo *)0x0" (assignment_expression "string_info = AcquireStringInfo(uVar11)" identifier = (call_expression "AcquireStringInfo(uVar11)" identifier (argument_list "(uVar11)" ( identifier )))) , (binary_expression "string_info == (StringInfo *)0x0" identifier == (cast_expression "(StringInfo *)0x0" ( (type_descriptor "StringInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0025ba84;" goto statement_identifier ;)) (expression_statement "data = GetStringInfoDatum(string_info);" (assignment_expression "data = GetStringInfoDatum(string_info)" identifier = (call_expression "GetStringInfoDatum(string_info)" identifier (argument_list "(string_info)" ( identifier )))) ;) (expression_statement "uVar22 = ReadBlob(pIVar6,uVar11,data);" (assignment_expression "uVar22 = ReadBlob(pIVar6,uVar11,data)" identifier = (call_expression "ReadBlob(pIVar6,uVar11,data)" identifier (argument_list "(pIVar6,uVar11,data)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar11 != uVar22) break;" if (parenthesized_expression "(uVar11 != uVar22)" ( (binary_expression "uVar11 != uVar22" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception);" (assignment_expression "local_3080 = SetImageProfile(pIVar6,local_30ac,string_info,exception)" identifier = (call_expression "SetImageProfile(pIVar6,local_30ac,string_info,exception)" identifier (argument_list "(pIVar6,local_30ac,string_info,exception)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "DestroyStringInfo(string_info);" (call_expression "DestroyStringInfo(string_info)" identifier (argument_list "(string_info)" ( identifier ))) ;) (if_statement "if ((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;" if (parenthesized_expression "((local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0))" ( (binary_expression "(local_3080 == MagickFalse) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)" (parenthesized_expression "(local_3080 == MagickFalse)" ( (binary_expression "local_3080 == MagickFalse" identifier == identifier) )) || (parenthesized_expression "(local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)" ( (comma_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0" (assignment_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084)" identifier = (cast_expression "(char *)GetNextValueInLinkedList(local_3084)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextValueInLinkedList(local_3084)" identifier (argument_list "(local_3084)" ( identifier ))))) , (binary_expression "local_30ac == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0025ba84;" goto statement_identifier ;)) })) (expression_statement "DestroyStringInfo(string_info);" (call_expression "DestroyStringInfo(string_info)" identifier (argument_list "(string_info)" ( identifier ))) ;) })) (labeled_statement "LAB_0025ba84:\n          DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);" statement_identifier : (expression_statement "DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value);" (call_expression "DestroyLinkedList(local_3084,(_func_void_ptr_void_ptr *)relinquish_value)" identifier (argument_list "(local_3084,(_func_void_ptr_void_ptr *)relinquish_value)" ( identifier , (cast_expression "(_func_void_ptr_void_ptr *)relinquish_value" ( (type_descriptor "_func_void_ptr_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) })) (expression_statement "sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse);" (assignment_expression "sVar12 = GetImageQuantumDepth(pIVar6,MagickFalse)" identifier = (call_expression "GetImageQuantumDepth(pIVar6,MagickFalse)" identifier (argument_list "(pIVar6,MagickFalse)" ( identifier , identifier )))) ;) (if_statement "if (pIVar6->storage_class != PseudoClass) goto LAB_0025ad8a;" if (parenthesized_expression "(pIVar6->storage_class != PseudoClass)" ( (binary_expression "pIVar6->storage_class != PseudoClass" (field_expression "pIVar6->storage_class" identifier -> field_identifier) != identifier) )) (goto_statement "goto LAB_0025ad8a;" goto statement_identifier ;)) (expression_statement "uVar11 = sVar12 * 3 >> 3;" (assignment_expression "uVar11 = sVar12 * 3 >> 3" identifier = (binary_expression "sVar12 * 3 >> 3" (binary_expression "sVar12 * 3" identifier * number_literal) >> number_literal)) ;) (expression_statement "sVar3 = pIVar6->colors;" (assignment_expression "sVar3 = pIVar6->colors" identifier = (field_expression "pIVar6->colors" identifier -> field_identifier)) ;) (expression_statement "MVar40 = GetBlobSize(pIVar6);" (assignment_expression "MVar40 = GetBlobSize(pIVar6)" identifier = (call_expression "GetBlobSize(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (if_statement "if (((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)) {\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3))" ( (binary_expression "((int)(MVar40 >> 0x20) == 0) && ((uint)MVar40 < uVar11 * sVar3)" (parenthesized_expression "((int)(MVar40 >> 0x20) == 0)" ( (binary_expression "(int)(MVar40 >> 0x20) == 0" (cast_expression "(int)(MVar40 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(MVar40 >> 0x20)" ( (binary_expression "MVar40 >> 0x20" identifier >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)MVar40 < uVar11 * sVar3)" ( (binary_expression "(uint)MVar40 < uVar11 * sVar3" (cast_expression "(uint)MVar40" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "uVar11 * sVar3" identifier * identifier)) ))) )) (compound_statement "{\n          pcVar34 = "InsufficientImageDataInFile";\n          severity = CorruptImageError;\n          sVar12 = 0x37d;\n          goto LAB_0025b781;\n        }" { (expression_statement "pcVar34 = "InsufficientImageDataInFile";" (assignment_expression "pcVar34 = "InsufficientImageDataInFile"" identifier = (string_literal ""InsufficientImageDataInFile"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar12 = 0x37d;" (assignment_expression "sVar12 = 0x37d" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50);" (assignment_expression "pPVar23 = (PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50)" identifier = (cast_expression "(PixelInfo *)AcquireQuantumMemory(pIVar6->colors + 1,0x50)" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(pIVar6->colors + 1,0x50)" identifier (argument_list "(pIVar6->colors + 1,0x50)" ( (binary_expression "pIVar6->colors + 1" (field_expression "pIVar6->colors" identifier -> field_identifier) + number_literal) , number_literal ))))) ;) (expression_statement "pIVar6->colormap = pPVar23;" (assignment_expression "pIVar6->colormap = pPVar23" (field_expression "pIVar6->colormap" identifier -> field_identifier) = identifier) ;) (if_statement "if (pPVar23 == (PixelInfo *)0x0) {\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(pPVar23 == (PixelInfo *)0x0)" ( (binary_expression "pPVar23 == (PixelInfo *)0x0" identifier == (cast_expression "(PixelInfo *)0x0" ( (type_descriptor "PixelInfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar34 = "MemoryAllocationFailed";\n          severity = ErrorException;\n          sVar12 = 0x381;\n          goto LAB_0025b781;\n        }" { (expression_statement "pcVar34 = "MemoryAllocationFailed";" (assignment_expression "pcVar34 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "severity = ErrorException;" (assignment_expression "severity = ErrorException" identifier = identifier) ;) (expression_statement "sVar12 = 0x381;" (assignment_expression "sVar12 = 0x381" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if (pIVar6->colors != 0) {\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(pIVar6->colors != 0)" ( (binary_expression "pIVar6->colors != 0" (field_expression "pIVar6->colors" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n          data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);\n          if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }\n          goto LAB_0025b781;\n        }" { (expression_statement "data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11);" (assignment_expression "data_00 = (uint *)AcquireQuantumMemory(pIVar6->colors,uVar11)" identifier = (cast_expression "(uint *)AcquireQuantumMemory(pIVar6->colors,uVar11)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(pIVar6->colors,uVar11)" identifier (argument_list "(pIVar6->colors,uVar11)" ( (field_expression "pIVar6->colors" identifier -> field_identifier) , identifier ))))) ;) (if_statement "if (data_00 == (uint *)0x0) {\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }\n          else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }" if (parenthesized_expression "(data_00 == (uint *)0x0)" ( (binary_expression "data_00 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar34 = "MemoryAllocationFailed";\n            severity = ErrorException;\n            sVar12 = 0x38a;\n          }" { (expression_statement "pcVar34 = "MemoryAllocationFailed";" (assignment_expression "pcVar34 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "severity = ErrorException;" (assignment_expression "severity = ErrorException" identifier = identifier) ;) (expression_statement "sVar12 = 0x38a;" (assignment_expression "sVar12 = 0x38a" identifier = number_literal) ;) }) (else_clause "else {\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }" else (compound_statement "{\n            sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);\n            fVar5 = DAT_002e814c;\n            fVar4 = DAT_002e8148;\n            sVar3 = pIVar6->colors;\n            if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(data_00);\n            pcVar34 = "InsufficientImageDataInFile";\n            severity = CorruptImageError;\n            sVar12 = 0x390;\n          }" { (expression_statement "sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00);" (assignment_expression "sVar24 = ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00)" identifier = (call_expression "ReadBlob(pIVar6,uVar11 * pIVar6->colors,data_00)" identifier (argument_list "(pIVar6,uVar11 * pIVar6->colors,data_00)" ( identifier , (binary_expression "uVar11 * pIVar6->colors" identifier * (field_expression "pIVar6->colors" identifier -> field_identifier)) , identifier )))) ;) (expression_statement "fVar5 = DAT_002e814c;" (assignment_expression "fVar5 = DAT_002e814c" identifier = identifier) ;) (expression_statement "fVar4 = DAT_002e8148;" (assignment_expression "fVar4 = DAT_002e8148" identifier = identifier) ;) (expression_statement "sVar3 = pIVar6->colors;" (assignment_expression "sVar3 = pIVar6->colors" identifier = (field_expression "pIVar6->colors" identifier -> field_identifier)) ;) (if_statement "if (uVar11 * sVar3 - sVar24 == 0) {\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }" if (parenthesized_expression "(uVar11 * sVar3 - sVar24 == 0)" ( (binary_expression "uVar11 * sVar3 - sVar24 == 0" (binary_expression "uVar11 * sVar3 - sVar24" (binary_expression "uVar11 * sVar3" identifier * identifier) - identifier) == number_literal) )) (compound_statement "{\n              if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }\n              RelinquishMagickMemory(data_00);\n              goto LAB_0025ad8a;\n            }" { (if_statement "if (sVar12 == 0x10) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }\n              else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }" if (parenthesized_expression "(sVar12 == 0x10)" ( (binary_expression "sVar12 == 0x10" identifier == number_literal) )) (compound_statement "{\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }\n              }" { (if_statement "if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }" if (parenthesized_expression "(0 < (int)sVar3)" ( (binary_expression "0 < (int)sVar3" number_literal < (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);\n                }" { (expression_statement "pMVar32 = &pIVar6->colormap->red;" (assignment_expression "pMVar32 = &pIVar6->colormap->red" identifier = (pointer_expression "&pIVar6->colormap->red" & (field_expression "pIVar6->colormap->red" (field_expression "pIVar6->colormap" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "puVar36 = data_00;" (assignment_expression "puVar36 = data_00" identifier = identifier) ;) (do_statement "do {\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)((int)data_00 + sVar3 * 6) != puVar37);" do (compound_statement "{\n                    puVar37 = (uint *)((int)puVar36 + 6);\n                    *pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);\n                    pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);\n                    pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  }" { (expression_statement "puVar37 = (uint *)((int)puVar36 + 6);" (assignment_expression "puVar37 = (uint *)((int)puVar36 + 6)" identifier = (cast_expression "(uint *)((int)puVar36 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + 6)" ( (binary_expression "(int)puVar36 + 6" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8);" (assignment_expression "*pMVar32 = (double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8)" (pointer_expression "*pMVar32" * identifier) = (cast_expression "(double)(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ushort)((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8)" ( (binary_expression "(ushort)*puVar36 << 8 | (ushort)*puVar36 >> 8" (binary_expression "(ushort)*puVar36 << 8" (binary_expression "(ushort)*puVar36" (parenthesized_expression "(ushort)" ( identifier )) * identifier) << number_literal) | (binary_expression "(ushort)*puVar36 >> 8" (binary_expression "(ushort)*puVar36" (parenthesized_expression "(ushort)" ( identifier )) * identifier) >> number_literal)) ))))) ;) (expression_statement "pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8);" (assignment_expression "pMVar32[1] = (double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8)" (subscript_expression "pMVar32[1]" identifier [ number_literal ]) = (cast_expression "(double)(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ushort)(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8)" ( (binary_expression "*(ushort *)((int)puVar36 + 2) << 8 |\n                                                 *(ushort *)((int)puVar36 + 2) >> 8" (binary_expression "*(ushort *)((int)puVar36 + 2) << 8" (pointer_expression "*(ushort *)((int)puVar36 + 2)" * (cast_expression "(ushort *)((int)puVar36 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + 2)" ( (binary_expression "(int)puVar36 + 2" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)((int)puVar36 + 2) >> 8" (pointer_expression "*(ushort *)((int)puVar36 + 2)" * (cast_expression "(ushort *)((int)puVar36 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + 2)" ( (binary_expression "(int)puVar36 + 2" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal)) ))))) ;) (expression_statement "pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)\n                    ;" (assignment_expression "pMVar32[2] = (double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)" (subscript_expression "pMVar32[2]" identifier [ number_literal ]) = (cast_expression "(double)(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ushort)((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8)" ( (binary_expression "(ushort)puVar36[1] << 8 | (ushort)puVar36[1] >> 8" (binary_expression "(ushort)puVar36[1] << 8" (cast_expression "(ushort)puVar36[1]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "puVar36[1]" identifier [ number_literal ])) << number_literal) | (binary_expression "(ushort)puVar36[1] >> 8" (cast_expression "(ushort)puVar36[1]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "puVar36[1]" identifier [ number_literal ])) >> number_literal)) ))))) ;) (expression_statement "pMVar32 = pMVar32 + 10;" (assignment_expression "pMVar32 = pMVar32 + 10" identifier = (binary_expression "pMVar32 + 10" identifier + number_literal)) ;) (expression_statement "puVar36 = puVar37;" (assignment_expression "puVar36 = puVar37" identifier = identifier) ;) }) while (parenthesized_expression "((uint *)((int)data_00 + sVar3 * 6) != puVar37)" ( (binary_expression "(uint *)((int)data_00 + sVar3 * 6) != puVar37" (cast_expression "(uint *)((int)data_00 + sVar3 * 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)data_00 + sVar3 * 6)" ( (binary_expression "(int)data_00 + sVar3 * 6" (cast_expression "(int)data_00" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "sVar3 * 6" identifier * number_literal)) ))) != identifier) )) ;) })) }) (else_clause "else if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }" else (if_statement "if (sVar12 == 0x20) {\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }\n              else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }" if (parenthesized_expression "(sVar12 == 0x20)" ( (binary_expression "sVar12 == 0x20" identifier == number_literal) )) (compound_statement "{\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }\n              }" { (if_statement "if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }" if (parenthesized_expression "(0 < (int)sVar3)" ( (binary_expression "0 < (int)sVar3" number_literal < (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);\n                }" { (expression_statement "pMVar32 = &pIVar6->colormap->red;" (assignment_expression "pMVar32 = &pIVar6->colormap->red" identifier = (pointer_expression "&pIVar6->colormap->red" & (field_expression "pIVar6->colormap->red" (field_expression "pIVar6->colormap" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "puVar36 = data_00;" (assignment_expression "puVar36 = data_00" identifier = identifier) ;) (do_statement "do {\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while (puVar37 != data_00 + sVar3 * 3);" do (compound_statement "{\n                    uVar11 = *puVar36;\n                    puVar37 = puVar36 + 3;\n                    *pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[1];\n                    pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    uVar11 = puVar36[2];\n                    pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  }" { (expression_statement "uVar11 = *puVar36;" (assignment_expression "uVar11 = *puVar36" identifier = (pointer_expression "*puVar36" * identifier)) ;) (expression_statement "puVar37 = puVar36 + 3;" (assignment_expression "puVar37 = puVar36 + 3" identifier = (binary_expression "puVar36 + 3" identifier + number_literal)) ;) (expression_statement "*pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);" (assignment_expression "*pMVar32 = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4)" (pointer_expression "*pMVar32" * identifier) = (cast_expression "(double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4)" ( (binary_expression "(float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4" (cast_expression "(float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) ))) / identifier) )))) ;) (expression_statement "uVar11 = puVar36[1];" (assignment_expression "uVar11 = puVar36[1]" identifier = (subscript_expression "puVar36[1]" identifier [ number_literal ])) ;) (expression_statement "pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);" (assignment_expression "pMVar32[1] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4)" (subscript_expression "pMVar32[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4)" ( (binary_expression "(float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4" (cast_expression "(float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) ))) / identifier) )))) ;) (expression_statement "uVar11 = puVar36[2];" (assignment_expression "uVar11 = puVar36[2]" identifier = (subscript_expression "puVar36[2]" identifier [ number_literal ])) ;) (expression_statement "pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4);" (assignment_expression "pMVar32[2] = (double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4)" (subscript_expression "pMVar32[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4)" ( (binary_expression "(float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18) / fVar4" (cast_expression "(float)(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8 | uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 |\n                                                  (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) ))) / identifier) )))) ;) (expression_statement "pMVar32 = pMVar32 + 10;" (assignment_expression "pMVar32 = pMVar32 + 10" identifier = (binary_expression "pMVar32 + 10" identifier + number_literal)) ;) (expression_statement "puVar36 = puVar37;" (assignment_expression "puVar36 = puVar37" identifier = identifier) ;) }) while (parenthesized_expression "(puVar37 != data_00 + sVar3 * 3)" ( (binary_expression "puVar37 != data_00 + sVar3 * 3" identifier != (binary_expression "data_00 + sVar3 * 3" identifier + (binary_expression "sVar3 * 3" identifier * number_literal))) )) ;) })) }) (else_clause "else {\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }" else (compound_statement "{\n                if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }\n              }" { (if_statement "if (sVar12 != 8) {\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }" if (parenthesized_expression "(sVar12 != 8)" ( (binary_expression "sVar12 != 8" identifier != number_literal) )) (compound_statement "{\n                  RelinquishMagickMemory(data_00);\n                  pcVar34 = "ImageDepthNotSupported";\n                  severity = CorruptImageError;\n                  sVar12 = 0x398;\n                  goto LAB_0025b781;\n                }" { (expression_statement "RelinquishMagickMemory(data_00);" (call_expression "RelinquishMagickMemory(data_00)" identifier (argument_list "(data_00)" ( identifier ))) ;) (expression_statement "pcVar34 = "ImageDepthNotSupported";" (assignment_expression "pcVar34 = "ImageDepthNotSupported"" identifier = (string_literal ""ImageDepthNotSupported"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar12 = 0x398;" (assignment_expression "sVar12 = 0x398" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if (0 < (int)sVar3) {\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }" if (parenthesized_expression "(0 < (int)sVar3)" ( (binary_expression "0 < (int)sVar3" number_literal < (cast_expression "(int)sVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  pMVar32 = &pIVar6->colormap->red;\n                  puVar36 = data_00;\n                  do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);\n                }" { (expression_statement "pMVar32 = &pIVar6->colormap->red;" (assignment_expression "pMVar32 = &pIVar6->colormap->red" identifier = (pointer_expression "&pIVar6->colormap->red" & (field_expression "pIVar6->colormap->red" (field_expression "pIVar6->colormap" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "puVar36 = data_00;" (assignment_expression "puVar36 = data_00" identifier = identifier) ;) (do_statement "do {\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  } while ((uint *)(sVar3 * 3 + (int)data_00) != puVar37);" do (compound_statement "{\n                    puVar37 = (uint *)((int)puVar36 + 3);\n                    *pMVar32 = (double)((float)(byte)*puVar36 * fVar5);\n                    pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);\n                    pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);\n                    pMVar32 = pMVar32 + 10;\n                    puVar36 = puVar37;\n                  }" { (expression_statement "puVar37 = (uint *)((int)puVar36 + 3);" (assignment_expression "puVar37 = (uint *)((int)puVar36 + 3)" identifier = (cast_expression "(uint *)((int)puVar36 + 3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + 3)" ( (binary_expression "(int)puVar36 + 3" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*pMVar32 = (double)((float)(byte)*puVar36 * fVar5);" (assignment_expression "*pMVar32 = (double)((float)(byte)*puVar36 * fVar5)" (pointer_expression "*pMVar32" * identifier) = (cast_expression "(double)((float)(byte)*puVar36 * fVar5)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(byte)*puVar36 * fVar5)" ( (binary_expression "(float)(byte)*puVar36 * fVar5" (binary_expression "(float)(byte)*puVar36" (cast_expression "(float)(byte)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(byte)" ( identifier ))) * identifier) * identifier) )))) ;) (expression_statement "pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5);" (assignment_expression "pMVar32[1] = (double)((float)*(byte *)((int)puVar36 + 1) * fVar5)" (subscript_expression "pMVar32[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)*(byte *)((int)puVar36 + 1) * fVar5)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*(byte *)((int)puVar36 + 1) * fVar5)" ( (binary_expression "(float)*(byte *)((int)puVar36 + 1) * fVar5" (cast_expression "(float)*(byte *)((int)puVar36 + 1)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(byte *)((int)puVar36 + 1)" * (cast_expression "(byte *)((int)puVar36 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + 1)" ( (binary_expression "(int)puVar36 + 1" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) * identifier) )))) ;) (expression_statement "pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5);" (assignment_expression "pMVar32[2] = (double)((float)*(byte *)((int)puVar36 + 2) * fVar5)" (subscript_expression "pMVar32[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)*(byte *)((int)puVar36 + 2) * fVar5)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*(byte *)((int)puVar36 + 2) * fVar5)" ( (binary_expression "(float)*(byte *)((int)puVar36 + 2) * fVar5" (cast_expression "(float)*(byte *)((int)puVar36 + 2)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(byte *)((int)puVar36 + 2)" * (cast_expression "(byte *)((int)puVar36 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar36 + 2)" ( (binary_expression "(int)puVar36 + 2" (cast_expression "(int)puVar36" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) * identifier) )))) ;) (expression_statement "pMVar32 = pMVar32 + 10;" (assignment_expression "pMVar32 = pMVar32 + 10" identifier = (binary_expression "pMVar32 + 10" identifier + number_literal)) ;) (expression_statement "puVar36 = puVar37;" (assignment_expression "puVar36 = puVar37" identifier = identifier) ;) }) while (parenthesized_expression "((uint *)(sVar3 * 3 + (int)data_00) != puVar37)" ( (binary_expression "(uint *)(sVar3 * 3 + (int)data_00) != puVar37" (cast_expression "(uint *)(sVar3 * 3 + (int)data_00)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(sVar3 * 3 + (int)data_00)" ( (binary_expression "sVar3 * 3 + (int)data_00" (binary_expression "sVar3 * 3" identifier * number_literal) + (cast_expression "(int)data_00" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != identifier) )) ;) })) }))))) (expression_statement "RelinquishMagickMemory(data_00);" (call_expression "RelinquishMagickMemory(data_00)" identifier (argument_list "(data_00)" ( identifier ))) ;) (goto_statement "goto LAB_0025ad8a;" goto statement_identifier ;) })) (expression_statement "RelinquishMagickMemory(data_00);" (call_expression "RelinquishMagickMemory(data_00)" identifier (argument_list "(data_00)" ( identifier ))) ;) (expression_statement "pcVar34 = "InsufficientImageDataInFile";" (assignment_expression "pcVar34 = "InsufficientImageDataInFile"" identifier = (string_literal ""InsufficientImageDataInFile"" " string_content ")) ;) (expression_statement "severity = CorruptImageError;" (assignment_expression "severity = CorruptImageError" identifier = identifier) ;) (expression_statement "sVar12 = 0x390;" (assignment_expression "sVar12 = 0x390" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (labeled_statement "LAB_0025ad8a:\n        if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" statement_identifier : (if_statement "if (((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)) {\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" if (parenthesized_expression "(((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene))" ( (binary_expression "((image_info->ping != MagickFalse) && (image_info->number_scenes != 0)) &&\n           ((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)" (parenthesized_expression "((image_info->ping != MagickFalse) && (image_info->number_scenes != 0))" ( (binary_expression "(image_info->ping != MagickFalse) && (image_info->number_scenes != 0)" (parenthesized_expression "(image_info->ping != MagickFalse)" ( (binary_expression "image_info->ping != MagickFalse" (field_expression "image_info->ping" identifier -> field_identifier) != identifier) )) && (parenthesized_expression "(image_info->number_scenes != 0)" ( (binary_expression "image_info->number_scenes != 0" (field_expression "image_info->number_scenes" identifier -> field_identifier) != number_literal) ))) )) && (parenthesized_expression "((image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene)" ( (binary_expression "(image_info->number_scenes + image_info->scene) - 1 <= pIVar6->scene" (binary_expression "(image_info->number_scenes + image_info->scene) - 1" (parenthesized_expression "(image_info->number_scenes + image_info->scene)" ( (binary_expression "image_info->number_scenes + image_info->scene" (field_expression "image_info->number_scenes" identifier -> field_identifier) + (field_expression "image_info->scene" identifier -> field_identifier)) )) - number_literal) <= (field_expression "pIVar6->scene" identifier -> field_identifier)) ))) )) (compound_statement "{\n          CloseBlob(pIVar6);\n          if (local_3080 != MagickFalse) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" { (expression_statement "CloseBlob(pIVar6);" (call_expression "CloseBlob(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier ))) ;) (if_statement "if (local_3080 != MagickFalse) goto LAB_0025b914;" if (parenthesized_expression "(local_3080 != MagickFalse)" ( (binary_expression "local_3080 != MagickFalse" identifier != identifier) )) (goto_statement "goto LAB_0025b914;" goto statement_identifier ;)) (goto_statement "goto LAB_0025aeb9;" goto statement_identifier ;) }))) (expression_statement "MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns);" (assignment_expression "MVar13 = AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns)" identifier = (call_expression "AcquireMagickResource(WidthResource,(ulonglong)pIVar6->columns)" identifier (argument_list "(WidthResource,(ulonglong)pIVar6->columns)" ( identifier , (cast_expression "(ulonglong)pIVar6->columns" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar6->columns" identifier -> field_identifier)) )))) ;) (if_statement "if ((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)) {\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "((MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse))" ( (binary_expression "(MVar13 == MagickFalse) ||\n           (MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)" (parenthesized_expression "(MVar13 == MagickFalse)" ( (binary_expression "MVar13 == MagickFalse" identifier == identifier) )) || (parenthesized_expression "(MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse)" ( (comma_expression "MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows),\n           MVar13 == MagickFalse" (assignment_expression "MVar13 = AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows)" identifier = (call_expression "AcquireMagickResource(HeightResource,(ulonglong)pIVar6->rows)" identifier (argument_list "(HeightResource,(ulonglong)pIVar6->rows)" ( identifier , (cast_expression "(ulonglong)pIVar6->rows" ( (type_descriptor "ulonglong" type_identifier) ) (field_expression "pIVar6->rows" identifier -> field_identifier)) )))) , (binary_expression "MVar13 == MagickFalse" identifier == identifier)) ))) )) (compound_statement "{\n          pcVar34 = "WidthOrHeightExceedsLimit";\n          severity = ImageError;\n          sVar12 = 0x3db;\n          goto LAB_0025b781;\n        }" { (expression_statement "pcVar34 = "WidthOrHeightExceedsLimit";" (assignment_expression "pcVar34 = "WidthOrHeightExceedsLimit"" identifier = (string_literal ""WidthOrHeightExceedsLimit"" " string_content ")) ;) (expression_statement "severity = ImageError;" (assignment_expression "severity = ImageError" identifier = identifier) ;) (expression_statement "sVar12 = 0x3db;" (assignment_expression "sVar12 = 0x3db" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception);" (assignment_expression "MVar13 = PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception)" identifier = (call_expression "PersistPixelCache(pIVar6,cache_filename,MagickTrue,&offset,exception)" identifier (argument_list "(pIVar6,cache_filename,MagickTrue,&offset,exception)" ( identifier , identifier , identifier , (pointer_expression "&offset" & identifier) , identifier )))) ;) (if_statement "if (MVar13 == MagickFalse) {\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(MVar13 == MagickFalse)" ( (binary_expression "MVar13 == MagickFalse" identifier == identifier) )) (compound_statement "{\n          SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);\n          pcVar34 = "UnableToPersistPixelCache";\n          severity = CacheError;\n          sVar12 = 0x3e3;\n          goto LAB_0025b781;\n        }" { (expression_statement "SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception);" (call_expression "SetImageExtent(pIVar6,pIVar6->columns,pIVar6->rows,exception)" identifier (argument_list "(pIVar6,pIVar6->columns,pIVar6->rows,exception)" ( identifier , (field_expression "pIVar6->columns" identifier -> field_identifier) , (field_expression "pIVar6->rows" identifier -> field_identifier) , identifier ))) ;) (expression_statement "pcVar34 = "UnableToPersistPixelCache";" (assignment_expression "pcVar34 = "UnableToPersistPixelCache"" identifier = (string_literal ""UnableToPersistPixelCache"" " string_content ")) ;) (expression_statement "severity = CacheError;" (assignment_expression "severity = CacheError" identifier = identifier) ;) (expression_statement "sVar12 = 0x3e3;" (assignment_expression "sVar12 = 0x3e3" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "iVar7 = EOFBlob(pIVar6);" (assignment_expression "iVar7 = EOFBlob(pIVar6)" identifier = (call_expression "EOFBlob(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (if_statement "if (iVar7 != 0) {\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar33 = __errno_location();\n          pcVar34 = GetExceptionMessage(*piVar33);\n          ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");\n          DestroyString(pcVar34);\n          CloseBlob(pIVar6);\nLAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);\n          goto LAB_0025b79c;\n        }" { (expression_statement "piVar33 = __errno_location();" (assignment_expression "piVar33 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar34 = GetExceptionMessage(*piVar33);" (assignment_expression "pcVar34 = GetExceptionMessage(*piVar33)" identifier = (call_expression "GetExceptionMessage(*piVar33)" identifier (argument_list "(*piVar33)" ( (pointer_expression "*piVar33" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s");" (call_expression "ThrowMagickException\n                    (exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s")" identifier (argument_list "(exception,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,\n                     "UnexpectedEndOfFile","\'%s\': %s")" ( identifier , (string_literal ""coders/mpc.c"" " string_content ") , (string_literal ""ReadMPCImage"" " string_content ") , number_literal , identifier , (string_literal ""UnexpectedEndOfFile"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") ))) ;) (expression_statement "DestroyString(pcVar34);" (call_expression "DestroyString(pcVar34)" identifier (argument_list "(pcVar34)" ( identifier ))) ;) (expression_statement "CloseBlob(pIVar6);" (call_expression "CloseBlob(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier ))) ;) (labeled_statement "LAB_0025b914:\n          pIVar6 = GetFirstImageInList(pIVar6);" statement_identifier : (expression_statement "pIVar6 = GetFirstImageInList(pIVar6);" (assignment_expression "pIVar6 = GetFirstImageInList(pIVar6)" identifier = (call_expression "GetFirstImageInList(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;)) (goto_statement "goto LAB_0025b79c;" goto statement_identifier ;) })) (while_statement "while (iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]) {\n          if (iVar7 == -1) goto LAB_0025b908;\n        }" while (parenthesized_expression "(iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7])" ( (comma_expression "iVar7 = ReadBlobByte(pIVar6), -1 < (short)(*ppuVar8)[iVar7]" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) , (binary_expression "-1 < (short)(*ppuVar8)[iVar7]" number_literal < (cast_expression "(short)(*ppuVar8)[iVar7]" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (subscript_expression "(*ppuVar8)[iVar7]" (parenthesized_expression "(*ppuVar8)" ( (pointer_expression "*ppuVar8" * identifier) )) [ identifier ])))) )) (compound_statement "{\n          if (iVar7 == -1) goto LAB_0025b908;\n        }" { (if_statement "if (iVar7 == -1) goto LAB_0025b908;" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0025b908;" goto statement_identifier ;)) })) (if_statement "if (iVar7 == -1) {\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_0025b908:\n          CloseBlob(pIVar6);\n          goto LAB_0025b914;\n        }" { (labeled_statement "LAB_0025b908:\n          CloseBlob(pIVar6);" statement_identifier : (expression_statement "CloseBlob(pIVar6);" (call_expression "CloseBlob(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier ))) ;)) (goto_statement "goto LAB_0025b914;" goto statement_identifier ;) })) (expression_statement "AcquireNextImage(image_info,pIVar6,exception);" (call_expression "AcquireNextImage(image_info,pIVar6,exception)" identifier (argument_list "(image_info,pIVar6,exception)" ( identifier , identifier , identifier ))) ;) (expression_statement "pIVar14 = GetNextImageInList(pIVar6);" (assignment_expression "pIVar14 = GetNextImageInList(pIVar6)" identifier = (call_expression "GetNextImageInList(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (if_statement "if (pIVar14 == (Image *)0x0) break;" if (parenthesized_expression "(pIVar14 == (Image *)0x0)" ( (binary_expression "pIVar14 == (Image *)0x0" identifier == (cast_expression "(Image *)0x0" ( (type_descriptor "Image *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pIVar6 = SyncNextImageInList(pIVar6);" (assignment_expression "pIVar6 = SyncNextImageInList(pIVar6)" identifier = (call_expression "SyncNextImageInList(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (expression_statement "MVar40 = GetBlobSize(pIVar6);" (assignment_expression "MVar40 = GetBlobSize(pIVar6)" identifier = (call_expression "GetBlobSize(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (expression_statement "offset_00 = TellBlob(pIVar6);" (assignment_expression "offset_00 = TellBlob(pIVar6)" identifier = (call_expression "TellBlob(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (expression_statement "local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40);" (assignment_expression "local_3080 = SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40)" identifier = (call_expression "SetImageProgress(pIVar6,"Load/Images",offset_00,MVar40)" identifier (argument_list "(pIVar6,"Load/Images",offset_00,MVar40)" ( identifier , (string_literal ""Load/Images"" " string_content ") , identifier , identifier )))) ;) }) while (parenthesized_expression "(local_3080 != MagickFalse)" ( (binary_expression "local_3080 != MagickFalse" identifier != identifier) )) ;) (expression_statement "CloseBlob(pIVar6);" (call_expression "CloseBlob(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier ))) ;) (labeled_statement "LAB_0025aeb9:\n      pIVar6 = DestroyImageList(pIVar6);" statement_identifier : (expression_statement "pIVar6 = DestroyImageList(pIVar6);" (assignment_expression "pIVar6 = DestroyImageList(pIVar6)" identifier = (call_expression "DestroyImageList(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;)) }))) }))) (labeled_statement "LAB_0025b79c:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar6;\n  }" statement_identifier : (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pIVar6;\n  }" if (parenthesized_expression "(iVar2 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 == *(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    return pIVar6;\n  }" { (return_statement "return pIVar6;" return identifier ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0025b6e0:\n  *pcVar34 = '\0';" statement_identifier : (expression_statement "*pcVar34 = '\0';" (assignment_expression "*pcVar34 = '\0'" (pointer_expression "*pcVar34" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "SetImageProperty(pIVar6,"comment",value,exception);" (call_expression "SetImageProperty(pIVar6,"comment",value,exception)" identifier (argument_list "(pIVar6,"comment",value,exception)" ( identifier , (string_literal ""comment"" " string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(value);" (call_expression "DestroyString(value)" identifier (argument_list "(value)" ( identifier ))) ;) (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (labeled_statement "LAB_0025ac68:\n  puVar9 = *ppuVar8;" statement_identifier : (expression_statement "puVar9 = *ppuVar8;" (assignment_expression "puVar9 = *ppuVar8" identifier = (pointer_expression "*ppuVar8" * identifier)) ;)) (expression_statement "uVar1 = puVar9[iVar7];" (assignment_expression "uVar1 = puVar9[iVar7]" identifier = (subscript_expression "puVar9[iVar7]" identifier [ identifier ])) ;) (if_statement "if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;" if (parenthesized_expression "((uVar1 & 0x2000) == 0)" ( (binary_expression "(uVar1 & 0x2000) == 0" (parenthesized_expression "(uVar1 & 0x2000)" ( (binary_expression "uVar1 & 0x2000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0025ab3f;" goto statement_identifier ;)) (do_statement "do {\n    iVar7 = ReadBlobByte(pIVar6);\n    puVar9 = *ppuVar8;\n    uVar1 = puVar9[iVar7];\n  } while ((uVar1 & 0x2000) != 0);" do (compound_statement "{\n    iVar7 = ReadBlobByte(pIVar6);\n    puVar9 = *ppuVar8;\n    uVar1 = puVar9[iVar7];\n  }" { (expression_statement "iVar7 = ReadBlobByte(pIVar6);" (assignment_expression "iVar7 = ReadBlobByte(pIVar6)" identifier = (call_expression "ReadBlobByte(pIVar6)" identifier (argument_list "(pIVar6)" ( identifier )))) ;) (expression_statement "puVar9 = *ppuVar8;" (assignment_expression "puVar9 = *ppuVar8" identifier = (pointer_expression "*ppuVar8" * identifier)) ;) (expression_statement "uVar1 = puVar9[iVar7];" (assignment_expression "uVar1 = puVar9[iVar7]" identifier = (subscript_expression "puVar9[iVar7]" identifier [ identifier ])) ;) }) while (parenthesized_expression "((uVar1 & 0x2000) != 0)" ( (binary_expression "(uVar1 & 0x2000) != 0" (parenthesized_expression "(uVar1 & 0x2000)" ( (binary_expression "uVar1 & 0x2000" identifier & number_literal) )) != number_literal) )) ;) (if_statement "if (iVar7 == 0x3a) goto LAB_0025aca4;" if (parenthesized_expression "(iVar7 == 0x3a)" ( (binary_expression "iVar7 == 0x3a" identifier == number_literal) )) (goto_statement "goto LAB_0025aca4;" goto statement_identifier ;)) (goto_statement "goto LAB_0025ab48;" goto statement_identifier ;) })))
(translation_unit "undefined4 FUN_0025a9a0(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  float fVar2;\n  float fVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  ushort **ppuVar7;\n  ushort *puVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  uint *puVar14;\n  int iVar15;\n  long lVar16;\n  double *pdVar17;\n  int *piVar18;\n  undefined4 uVar19;\n  int iVar20;\n  uint *puVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  undefined1 *puVar25;\n  int in_GS_OFFSET;\n  byte bVar26;\n  longdouble lVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  char *pcVar31;\n  char *local_30ac;\n  char *local_30a4;\n  int local_3084;\n  int local_3080;\n  ulong local_3078;\n  undefined4 local_3054;\n  undefined4 local_3050;\n  undefined8 local_304c;\n  undefined8 uStack_3044;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar26 = 0;\n  uStack_14 = 0x25a9a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  piVar5 = (int *)AcquireImage(param_1,param_2);\n  local_3080 = OpenBlob(param_1,piVar5,2,param_2);\n  if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }\nLAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }\n                    \n  FUN_002decd0();\nLAB_0025b6e0:\n  *pcVar31 = '\0';\n  SetImageProperty(piVar5,"comment",pcVar10,param_2);\n  DestroyString(pcVar10);\n  iVar6 = ReadBlobByte(piVar5);\nLAB_0025ac68:\n  puVar8 = *ppuVar7;\n  uVar1 = puVar8[iVar6];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar6 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}\n\n" (function_definition "undefined4 FUN_0025a9a0(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  float fVar2;\n  float fVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  ushort **ppuVar7;\n  ushort *puVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  uint *puVar14;\n  int iVar15;\n  long lVar16;\n  double *pdVar17;\n  int *piVar18;\n  undefined4 uVar19;\n  int iVar20;\n  uint *puVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  undefined1 *puVar25;\n  int in_GS_OFFSET;\n  byte bVar26;\n  longdouble lVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  char *pcVar31;\n  char *local_30ac;\n  char *local_30a4;\n  int local_3084;\n  int local_3080;\n  ulong local_3078;\n  undefined4 local_3054;\n  undefined4 local_3050;\n  undefined8 local_304c;\n  undefined8 uStack_3044;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar26 = 0;\n  uStack_14 = 0x25a9a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  piVar5 = (int *)AcquireImage(param_1,param_2);\n  local_3080 = OpenBlob(param_1,piVar5,2,param_2);\n  if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }\nLAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }\n                    \n  FUN_002decd0();\nLAB_0025b6e0:\n  *pcVar31 = '\0';\n  SetImageProperty(piVar5,"comment",pcVar10,param_2);\n  DestroyString(pcVar10);\n  iVar6 = ReadBlobByte(piVar5);\nLAB_0025ac68:\n  puVar8 = *ppuVar7;\n  uVar1 = puVar8[iVar6];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar6 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}" type_identifier (function_declarator "FUN_0025a9a0(int param_1,int param_2)" identifier (parameter_list "(int param_1,int param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  ushort uVar1;\n  float fVar2;\n  float fVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  ushort **ppuVar7;\n  ushort *puVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  uint *puVar14;\n  int iVar15;\n  long lVar16;\n  double *pdVar17;\n  int *piVar18;\n  undefined4 uVar19;\n  int iVar20;\n  uint *puVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  undefined1 *puVar25;\n  int in_GS_OFFSET;\n  byte bVar26;\n  longdouble lVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  char *pcVar31;\n  char *local_30ac;\n  char *local_30a4;\n  int local_3084;\n  int local_3080;\n  ulong local_3078;\n  undefined4 local_3054;\n  undefined4 local_3050;\n  undefined8 local_304c;\n  undefined8 uStack_3044;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar26 = 0;\n  uStack_14 = 0x25a9a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  piVar5 = (int *)AcquireImage(param_1,param_2);\n  local_3080 = OpenBlob(param_1,piVar5,2,param_2);\n  if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }\nLAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }\n                    \n  FUN_002decd0();\nLAB_0025b6e0:\n  *pcVar31 = '\0';\n  SetImageProperty(piVar5,"comment",pcVar10,param_2);\n  DestroyString(pcVar10);\n  iVar6 = ReadBlobByte(piVar5);\nLAB_0025ac68:\n  puVar8 = *ppuVar7;\n  uVar1 = puVar8[iVar6];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar6 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}" { (declaration "ushort uVar1;" type_identifier identifier ;) (declaration "float fVar2;" primitive_type identifier ;) (declaration "float fVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "ushort **ppuVar7;" type_identifier (pointer_declarator "**ppuVar7" * (pointer_declarator "*ppuVar7" * identifier)) ;) (declaration "ushort *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "ulong uVar9;" type_identifier identifier ;) (declaration "char *pcVar10;" primitive_type (pointer_declarator "*pcVar10" * identifier) ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "long lVar16;" (sized_type_specifier "long" long) identifier ;) (declaration "double *pdVar17;" primitive_type (pointer_declarator "*pdVar17" * identifier) ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "uint *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "uint uVar22;" type_identifier identifier ;) (declaration "uint *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "byte bVar26;" type_identifier identifier ;) (declaration "longdouble lVar27;" type_identifier identifier ;) (declaration "undefined8 uVar28;" type_identifier identifier ;) (declaration "undefined8 uVar29;" type_identifier identifier ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "char *pcVar31;" primitive_type (pointer_declarator "*pcVar31" * identifier) ;) (declaration "char *local_30ac;" primitive_type (pointer_declarator "*local_30ac" * identifier) ;) (declaration "char *local_30a4;" primitive_type (pointer_declarator "*local_30a4" * identifier) ;) (declaration "int local_3084;" primitive_type identifier ;) (declaration "int local_3080;" primitive_type identifier ;) (declaration "ulong local_3078;" type_identifier identifier ;) (declaration "undefined4 local_3054;" type_identifier identifier ;) (declaration "undefined4 local_3050;" type_identifier identifier ;) (declaration "undefined8 local_304c;" type_identifier identifier ;) (declaration "undefined8 uStack_3044;" type_identifier identifier ;) (declaration "undefined1 local_3020 [4096];" type_identifier (array_declarator "local_3020 [4096]" identifier [ number_literal ]) ;) (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 "bVar26 = 0;" (assignment_expression "bVar26 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x25a9a9;" (assignment_expression "uStack_14 = 0x25a9a9" identifier = number_literal) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }" { (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage")" identifier (argument_list "("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage")" ( (string_literal ""image_info != (const ImageInfo *) NULL"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f4) != -0x54535255)" ( (binary_expression "*(int *)(param_1 + 0x31f4) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x31f4)" * (cast_expression "(int *)(param_1 + 0x31f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f4)" ( (binary_expression "param_1 + 0x31f4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }" { (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")" identifier (argument_list "("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")" ( (string_literal ""image_info->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x31f0) != 0)" ( (binary_expression "*(int *)(param_1 + 0x31f0) != 0" (pointer_expression "*(int *)(param_1 + 0x31f0)" * (cast_expression "(int *)(param_1 + 0x31f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x31f0)" ( (binary_expression "param_1 + 0x31f0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }" { (expression_statement "LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0)" identifier (argument_list "(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0)" ( number_literal , (string_literal ""coders/mpc.c"" " string_content ") , (string_literal ""ReadMPCImage"" " string_content ") , number_literal , (pointer_expression "&DAT_002f75ae" & identifier) , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;) })) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }" if (parenthesized_expression "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }" { (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage")" identifier (argument_list "("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage")" ( (string_literal ""exception != (ExceptionInfo *) NULL"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (if_statement "if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }" if (parenthesized_expression "(*(int *)(param_2 + 0x1c) != -0x54535255)" ( (binary_expression "*(int *)(param_2 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }" { (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage")" identifier (argument_list "("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage")" ( (string_literal ""exception->signature == MagickCoreSignature"" " string_content ") , (string_literal ""coders/mpc.c"" " string_content ") , number_literal , (string_literal ""ReadMPCImage"" " string_content ") ))) ;) })) (expression_statement "piVar5 = (int *)AcquireImage(param_1,param_2);" (assignment_expression "piVar5 = (int *)AcquireImage(param_1,param_2)" identifier = (cast_expression "(int *)AcquireImage(param_1,param_2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireImage(param_1,param_2)" identifier (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (expression_statement "local_3080 = OpenBlob(param_1,piVar5,2,param_2);" (assignment_expression "local_3080 = OpenBlob(param_1,piVar5,2,param_2)" identifier = (call_expression "OpenBlob(param_1,piVar5,2,param_2)" identifier (argument_list "(param_1,piVar5,2,param_2)" ( identifier , identifier , number_literal , identifier )))) ;) (if_statement "if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }" if (parenthesized_expression "(local_3080 == 0)" ( (binary_expression "local_3080 == 0" identifier == number_literal) )) (compound_statement "{\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }" { (expression_statement "DestroyImageList(piVar5);" (call_expression "DestroyImageList(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }" else (compound_statement "{\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }" { (expression_statement "CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);" (call_expression "CopyMagickString(local_3020,piVar5 + 0xc6,0xffa)" identifier (argument_list "(local_3020,piVar5 + 0xc6,0xffa)" ( identifier , (binary_expression "piVar5 + 0xc6" identifier + number_literal) , number_literal ))) ;) (expression_statement "AppendImageFormat("cache",local_3020);" (call_expression "AppendImageFormat("cache",local_3020)" identifier (argument_list "("cache",local_3020)" ( (string_literal ""cache"" " string_content ") , identifier ))) ;) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }" { (expression_statement "DestroyImage(piVar5);" (call_expression "DestroyImage(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }" else (compound_statement "{\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }" { (expression_statement "local_2020[0] = 0;" (assignment_expression "local_2020[0] = 0" (subscript_expression "local_2020[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar24 = (undefined4 *)local_1020;" (assignment_expression "puVar24 = (undefined4 *)local_1020" identifier = (cast_expression "(undefined4 *)local_1020" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (for_statement "for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }" for ( (assignment_expression "iVar20 = 0x400" identifier = number_literal) ; (binary_expression "iVar20 != 0" identifier != number_literal) ; (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ) (compound_statement "{\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }" { (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" * identifier) = number_literal) ;) (expression_statement "puVar24 = puVar24 + (uint)bVar26 * -2 + 1;" (assignment_expression "puVar24 = puVar24 + (uint)bVar26 * -2 + 1" identifier = (binary_expression "puVar24 + (uint)bVar26 * -2 + 1" (binary_expression "puVar24 + (uint)bVar26 * -2" identifier + (binary_expression "(uint)bVar26 * -2" (cast_expression "(uint)bVar26" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "local_3054 = 0;" (assignment_expression "local_3054 = 0" identifier = number_literal) ;) (expression_statement "local_3050 = 0;" (assignment_expression "local_3050 = 0" identifier = number_literal) ;) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" identifier = (call_expression "__ctype_b_loc()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar4 = PTR_RelinquishMagickMemory_0041dfd8;" (assignment_expression "puVar4 = PTR_RelinquishMagickMemory_0041dfd8" identifier = identifier) ;) (do_statement "do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);" do (compound_statement "{\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      }" { (expression_statement "SetGeometryInfo(&local_304c);" (call_expression "SetGeometryInfo(&local_304c)" identifier (argument_list "(&local_304c)" ( (pointer_expression "&local_304c" & identifier) ))) ;) (expression_statement "local_30a4 = (char *)AcquireString(0);" (assignment_expression "local_30a4 = (char *)AcquireString(0)" identifier = (cast_expression "(char *)AcquireString(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireString(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "local_3078 = GetMagickSignature(0);" (assignment_expression "local_3078 = GetMagickSignature(0)" identifier = (call_expression "GetMagickSignature(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (expression_statement "piVar5[8] = 8;" (assignment_expression "piVar5[8] = 8" (subscript_expression "piVar5[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "piVar5[2] = 0x10;" (assignment_expression "piVar5[2] = 0x10" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar1 = puVar8[iVar6];" (assignment_expression "uVar1 = puVar8[iVar6]" identifier = (subscript_expression "puVar8[iVar6]" identifier [ identifier ])) ;) (expression_statement "local_3084 = 0;" (assignment_expression "local_3084 = 0" identifier = number_literal) ;) (labeled_statement "LAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" statement_identifier : (if_statement "if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" if (parenthesized_expression "(iVar6 != 0x3a)" ( (binary_expression "iVar6 != 0x3a" identifier != number_literal) )) (compound_statement "{\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" { (labeled_statement "LAB_0025ab48:\n          pcVar31 = local_30a4;" statement_identifier : (expression_statement "pcVar31 = local_30a4;" (assignment_expression "pcVar31 = local_30a4" identifier = identifier) ;)) (if_statement "if (-1 < (short)uVar1) goto LAB_0025aca4;" if (parenthesized_expression "(-1 < (short)uVar1)" ( (binary_expression "-1 < (short)uVar1" number_literal < (cast_expression "(short)uVar1" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) )) (goto_statement "goto LAB_0025aca4;" goto statement_identifier ;)) (if_statement "if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }" if (parenthesized_expression "(iVar6 == 0x7b)" ( (binary_expression "iVar6 == 0x7b" identifier == number_literal) )) (compound_statement "{\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }" { (expression_statement "pcVar31 = (char *)AcquireString(0);" (assignment_expression "pcVar31 = (char *)AcquireString(0)" identifier = (cast_expression "(char *)AcquireString(0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireString(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }" if (parenthesized_expression "(pcVar31 != (char *)0x0)" ( (binary_expression "pcVar31 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }" { (expression_statement "local_30ac = (char *)0x1000;" (assignment_expression "local_30ac = (char *)0x1000" identifier = (cast_expression "(char *)0x1000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar10 = pcVar31;" (assignment_expression "pcVar10 = pcVar31" identifier = identifier) ;) (do_statement "do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );" do (compound_statement "{\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;" if (parenthesized_expression "(iVar6 == 0x5c)" ( (binary_expression "iVar6 == 0x5c" identifier == number_literal) )) (compound_statement "{\n                  iVar6 = ReadBlobByte(piVar5);\n                }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) }) (else_clause "else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;" else (if_statement "if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;" if (parenthesized_expression "((iVar6 == -1) || (iVar6 == 0x7d))" ( (binary_expression "(iVar6 == -1) || (iVar6 == 0x7d)" (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) || (parenthesized_expression "(iVar6 == 0x7d)" ( (binary_expression "iVar6 == 0x7d" identifier == number_literal) ))) )) (goto_statement "goto LAB_0025b6e0;" goto statement_identifier ;)))) (if_statement "if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }" if (parenthesized_expression "(pcVar31 + (1 - (int)pcVar10) < local_30ac)" ( (binary_expression "pcVar31 + (1 - (int)pcVar10) < local_30ac" (binary_expression "pcVar31 + (1 - (int)pcVar10)" identifier + (parenthesized_expression "(1 - (int)pcVar10)" ( (binary_expression "1 - (int)pcVar10" number_literal - (cast_expression "(int)pcVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < identifier) )) (compound_statement "{\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }" { (expression_statement "*pcVar31 = (char)iVar6;" (assignment_expression "*pcVar31 = (char)iVar6" (pointer_expression "*pcVar31" * identifier) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "pcVar31 = pcVar31 + 1;" (assignment_expression "pcVar31 = pcVar31 + 1" identifier = (binary_expression "pcVar31 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }" else (compound_statement "{\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }" { (expression_statement "local_30ac = (char *)((int)local_30ac * 2);" (assignment_expression "local_30ac = (char *)((int)local_30ac * 2)" identifier = (cast_expression "(char *)((int)local_30ac * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30ac * 2)" ( (binary_expression "(int)local_30ac * 2" (cast_expression "(int)local_30ac" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "*pcVar31 = '\0';" (assignment_expression "*pcVar31 = '\0'" (pointer_expression "*pcVar31" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);" (assignment_expression "pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1)" identifier = (cast_expression "(char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1)" identifier (argument_list "(pcVar10,local_30ac + 0x1000,1)" ( identifier , (binary_expression "local_30ac + 0x1000" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pcVar10 == (char *)0x0) break;" if (parenthesized_expression "(pcVar10 == (char *)0x0)" ( (binary_expression "pcVar10 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "sVar11 = strlen(pcVar10);" (assignment_expression "sVar11 = strlen(pcVar10)" identifier = (call_expression "strlen(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier )))) ;) (expression_statement "pcVar31 = pcVar10 + sVar11 + 1;" (assignment_expression "pcVar31 = pcVar10 + sVar11 + 1" identifier = (binary_expression "pcVar10 + sVar11 + 1" (binary_expression "pcVar10 + sVar11" identifier + identifier) + number_literal)) ;) (expression_statement "pcVar10[sVar11] = (char)iVar6;" (assignment_expression "pcVar10[sVar11] = (char)iVar6" (subscript_expression "pcVar10[sVar11]" identifier [ identifier ]) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ;) }))) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier ))) ;) (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" identifier = number_literal) ;) (expression_statement "uVar19 = 0x10e;" (assignment_expression "uVar19 = 0x10e" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }" if (parenthesized_expression "((uVar1 & 8) == 0)" ( (binary_expression "(uVar1 & 8) == 0" (parenthesized_expression "(uVar1 & 8)" ( (binary_expression "uVar1 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            iVar6 = ReadBlobByte(piVar5);\n          }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) }) (else_clause "else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }" else (compound_statement "{\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }" { (expression_statement "puVar24 = (undefined4 *)local_1020;" (assignment_expression "puVar24 = (undefined4 *)local_1020" identifier = (cast_expression "(undefined4 *)local_1020" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }" if (parenthesized_expression "(iVar6 == 0x3d)" ( (binary_expression "iVar6 == 0x3d" identifier == number_literal) )) (compound_statement "{\n              iVar20 = 0x7a;\n            }" { (expression_statement "iVar20 = 0x7a;" (assignment_expression "iVar20 = 0x7a" identifier = number_literal) ;) }) (else_clause "else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }" else (compound_statement "{\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }" { (do_statement "do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);" do (compound_statement "{\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              }" { (if_statement "if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }" if (parenthesized_expression "((uint)((int)puVar24 - (int)local_1020) < 0xfff)" ( (binary_expression "(uint)((int)puVar24 - (int)local_1020) < 0xfff" (call_expression "(uint)((int)puVar24 - (int)local_1020)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)puVar24 - (int)local_1020)" ( (binary_expression "(int)puVar24 - (int)local_1020" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_1020" ( (type_descriptor "int" primitive_type) ) identifier)) ))) < number_literal) )) (compound_statement "{\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }" { (expression_statement "*(char *)puVar24 = (char)iVar6;" (assignment_expression "*(char *)puVar24 = (char)iVar6" (pointer_expression "*(char *)puVar24" * (cast_expression "(char *)puVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "puVar24 = (undefined4 *)((int)puVar24 + 1);" (assignment_expression "puVar24 = (undefined4 *)((int)puVar24 + 1)" identifier = (cast_expression "(undefined4 *)((int)puVar24 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar24 + 1)" ( (binary_expression "(int)puVar24 + 1" (cast_expression "(int)puVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }" { (expression_statement "iVar20 = -2;" (assignment_expression "iVar20 = -2" identifier = number_literal) ;) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (goto_statement "goto LAB_0025abb9;" goto statement_identifier ;) })) }) while (parenthesized_expression "(iVar6 != 0x3d)" ( (binary_expression "iVar6 != 0x3d" identifier != number_literal) )) ;) (expression_statement "iVar20 = 0x7a;" (assignment_expression "iVar20 = 0x7a" identifier = number_literal) ;) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) }))) (labeled_statement "LAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;" statement_identifier : (expression_statement "*(undefined1 *)puVar24 = 0;" (assignment_expression "*(undefined1 *)puVar24 = 0" (pointer_expression "*(undefined1 *)puVar24" * (cast_expression "(undefined1 *)puVar24" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;)) (if_statement "if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }" if (parenthesized_expression "((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0)" ( (binary_expression "(*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0" (parenthesized_expression "(*(ushort *)((int)puVar8 + iVar20) & 0x2000)" ( (binary_expression "*(ushort *)((int)puVar8 + iVar20) & 0x2000" (pointer_expression "*(ushort *)((int)puVar8 + iVar20)" * (cast_expression "(ushort *)((int)puVar8 + iVar20)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar8 + iVar20)" ( (binary_expression "(int)puVar8 + iVar20" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }" { (do_statement "do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);" do (compound_statement "{\n                iVar6 = ReadBlobByte(piVar5);\n              }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) }) while (parenthesized_expression "((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0)" ( (binary_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar7 + iVar6 * 2 + 1)" ( (binary_expression "(int)*ppuVar7 + iVar6 * 2 + 1" (binary_expression "(int)*ppuVar7 + iVar6 * 2" (cast_expression "(int)*ppuVar7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar7" * identifier)) + (binary_expression "iVar6 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) != number_literal) )) ;) })) (expression_statement "local_30ac = local_30a4;" (assignment_expression "local_30ac = local_30a4" identifier = identifier) ;) (if_statement "if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }" if (parenthesized_expression "(iVar6 == 0x3d)" ( (binary_expression "iVar6 == 0x3d" identifier == number_literal) )) (compound_statement "{\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "local_30a4 = (char *)0xfff;" (assignment_expression "local_30a4 = (char *)0xfff" identifier = (cast_expression "(char *)0xfff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_30ac = pcVar31;" (assignment_expression "local_30ac = pcVar31" identifier = identifier) ;) (do_statement "do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );" do (compound_statement "{\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              }" { (if_statement "if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }" if (parenthesized_expression "((iVar6 == 0x7d) || (iVar6 == -1))" ( (binary_expression "(iVar6 == 0x7d) || (iVar6 == -1)" (parenthesized_expression "(iVar6 == 0x7d)" ( (binary_expression "iVar6 == 0x7d" identifier == number_literal) )) || (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) ))) )) (compound_statement "{\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }" { (if_statement "if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }" if (parenthesized_expression "(pcVar31 == (char *)0x0)" ( (binary_expression "pcVar31 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }" { (labeled_statement "LAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";" statement_identifier : (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;)) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" identifier = number_literal) ;) (expression_statement "uVar19 = 0x14c;" (assignment_expression "uVar19 = 0x14c" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (break_statement "break;" break ;) })) (if_statement "if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }" if (parenthesized_expression "(local_30a4 <= local_30ac + (1 - (int)pcVar31))" ( (binary_expression "local_30a4 <= local_30ac + (1 - (int)pcVar31)" identifier <= (binary_expression "local_30ac + (1 - (int)pcVar31)" identifier + (parenthesized_expression "(1 - (int)pcVar31)" ( (binary_expression "1 - (int)pcVar31" number_literal - (cast_expression "(int)pcVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (compound_statement "{\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }" { (expression_statement "local_30a4 = (char *)((int)local_30a4 * 2);" (assignment_expression "local_30a4 = (char *)((int)local_30a4 * 2)" identifier = (cast_expression "(char *)((int)local_30a4 * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30a4 * 2)" ( (binary_expression "(int)local_30a4 * 2" (cast_expression "(int)local_30a4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "*local_30ac = '\0';" (assignment_expression "*local_30ac = '\0'" (pointer_expression "*local_30ac" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);" (assignment_expression "pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1)" identifier = (cast_expression "(char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1)" identifier (argument_list "(pcVar31,local_30a4 + 0x1000,1)" ( identifier , (binary_expression "local_30a4 + 0x1000" identifier + number_literal) , number_literal ))))) ;) (if_statement "if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;" if (parenthesized_expression "(pcVar31 == (char *)0x0)" ( (binary_expression "pcVar31 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0025b8e1;" goto statement_identifier ;)) (expression_statement "sVar11 = strlen(pcVar31);" (assignment_expression "sVar11 = strlen(pcVar31)" identifier = (call_expression "strlen(pcVar31)" identifier (argument_list "(pcVar31)" ( identifier )))) ;) (expression_statement "local_30ac = pcVar31 + sVar11;" (assignment_expression "local_30ac = pcVar31 + sVar11" identifier = (binary_expression "pcVar31 + sVar11" identifier + identifier)) ;) })) (expression_statement "*local_30ac = (char)iVar6;" (assignment_expression "*local_30ac = (char)iVar6" (pointer_expression "*local_30ac" * identifier) = (cast_expression "(char)iVar6" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "pcVar10 = local_30ac + 1;" (assignment_expression "pcVar10 = local_30ac + 1" identifier = (binary_expression "local_30ac + 1" identifier + number_literal)) ;) (if_statement "if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }" if (parenthesized_expression "((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d))" ( (binary_expression "(iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)" (parenthesized_expression "(iVar6 == 0x5c)" ( (binary_expression "iVar6 == 0x5c" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)" ( (comma_expression "iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) , (binary_expression "iVar6 == 0x7d" identifier == number_literal)) ))) )) (compound_statement "{\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }" { (expression_statement "local_30ac[1] = '}';" (assignment_expression "local_30ac[1] = '}'" (subscript_expression "local_30ac[1]" identifier [ number_literal ]) = (char_literal "'}'" ' character ')) ;) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "pcVar10 = local_30ac + 2;" (assignment_expression "pcVar10 = local_30ac + 2" identifier = (binary_expression "local_30ac + 2" identifier + number_literal)) ;) })) (expression_statement "local_30ac = pcVar10;" (assignment_expression "local_30ac = pcVar10" identifier = identifier) ;) }) while (parenthesized_expression "((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      )" ( (binary_expression "(*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)" (parenthesized_expression "(*pcVar31 == '{')" ( (binary_expression "*pcVar31 == '{'" (pointer_expression "*pcVar31" * identifier) == (char_literal "'{'" ' character ')) )) || (parenthesized_expression "((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)" ( (binary_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20)" ( (binary_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" * (cast_expression "(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)*ppuVar7 + iVar6 * 2 + 1)" ( (binary_expression "(int)*ppuVar7 + iVar6 * 2 + 1" (binary_expression "(int)*ppuVar7 + iVar6 * 2" (cast_expression "(int)*ppuVar7" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*ppuVar7" * identifier)) + (binary_expression "iVar6 * 2" identifier * number_literal)) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ;) })) (expression_statement "local_30a4 = pcVar31;" (assignment_expression "local_30a4 = pcVar31" identifier = identifier) ;) (expression_statement "*local_30ac = '\0';" (assignment_expression "*local_30ac = '\0'" (pointer_expression "*local_30ac" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }" if (parenthesized_expression "(*local_30a4 == '{')" ( (binary_expression "*local_30a4 == '{'" (pointer_expression "*local_30a4" * identifier) == (char_literal "'{'" ' character ')) )) (compound_statement "{\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }" { (expression_statement "sVar11 = strlen(local_30a4);" (assignment_expression "sVar11 = strlen(local_30a4)" identifier = (call_expression "strlen(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "CopyMagickString(local_30a4,local_30a4 + 1,sVar11);" (call_expression "CopyMagickString(local_30a4,local_30a4 + 1,sVar11)" identifier (argument_list "(local_30a4,local_30a4 + 1,sVar11)" ( identifier , (binary_expression "local_30a4 + 1" identifier + number_literal) , identifier ))) ;) })) (switch_statement "switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }" switch (parenthesized_expression "(local_1020[0])" ( (subscript_expression "local_1020[0]" identifier [ number_literal ]) )) (compound_statement "{\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }" { (case_statement "case 0x41:" case number_literal :) (case_statement "case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"alpha-trait");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"alpha-trait")" identifier = (call_expression "LocaleCompare(local_1020,"alpha-trait")" identifier (argument_list "(local_1020,"alpha-trait")" ( identifier , (string_literal ""alpha-trait"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x3a,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x3a,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x3a,0,local_30a4)" identifier (argument_list "(0x3a,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                piVar5[0xa5] = iVar20;\n              }" { (expression_statement "piVar5[0xa5] = iVar20;" (assignment_expression "piVar5[0xa5] = iVar20" (subscript_expression "piVar5[0xa5]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x42:" case number_literal :) (case_statement "case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"background-color");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"background-color")" identifier = (call_expression "LocaleCompare(local_1020,"background-color")" identifier (argument_list "(local_1020,"background-color")" ( identifier , (string_literal ""background-color"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                piVar18 = piVar5 + 0x1f;\n              }" { (expression_statement "piVar18 = piVar5 + 0x1f;" (assignment_expression "piVar18 = piVar5 + 0x1f" identifier = (binary_expression "piVar5 + 0x1f" identifier + number_literal)) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"blue-primary");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"blue-primary")" identifier = (call_expression "LocaleCompare(local_1020,"blue-primary")" identifier (argument_list "(local_1020,"blue-primary")" ( identifier , (string_literal ""blue-primary"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }" { (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 0x69) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x69) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x69)" * (cast_expression "(undefined8 *)(piVar5 + 0x69)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x69)" ( (binary_expression "piVar5 + 0x69" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }" if (parenthesized_expression "((uVar22 & 8) == 0)" ( (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }" { (expression_statement "*(undefined8 *)(piVar5 + 0x6b) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x6b) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x6b)" * (cast_expression "(undefined8 *)(piVar5 + 0x6b)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x6b)" ( (binary_expression "piVar5 + 0x6b" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }" else (compound_statement "{\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }" { (expression_statement "*(undefined8 *)(piVar5 + 0x6b) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x6b) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x6b)" * (cast_expression "(undefined8 *)(piVar5 + 0x6b)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x6b)" ( (binary_expression "piVar5 + 0x6b" identifier + number_literal) )))) = identifier) ;) }))) (break_statement "break;" break ;) })) (expression_statement "iVar20 = LocaleCompare(local_1020,"border-color");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"border-color")" identifier = (call_expression "LocaleCompare(local_1020,"border-color")" identifier (argument_list "(local_1020,"border-color")" ( identifier , (string_literal ""border-color"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "piVar18 = piVar5 + 0x33;" (assignment_expression "piVar18 = piVar5 + 0x33" identifier = (binary_expression "piVar5 + 0x33" identifier + number_literal)) ;) }))) (labeled_statement "code_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);" statement_identifier : (expression_statement "QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);" (call_expression "QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2)" identifier (argument_list "(local_30a4,0x7fffffff,piVar18,param_2)" ( identifier , number_literal , identifier , identifier ))) ;)) (break_statement "break;" break ;)) (case_statement "case 0x43:" case number_literal :) (case_statement "case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"class");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"class")" identifier = (call_expression "LocaleCompare(local_1020,"class")" identifier (argument_list "(local_1020,"class")" ( identifier , (string_literal ""class"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }" { (expression_statement "iVar20 = ParseCommandOption(5,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(5,0,local_30a4)" identifier = (call_expression "ParseCommandOption(5,0,local_30a4)" identifier (argument_list "(5,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  *piVar5 = iVar20;\n                }" { (expression_statement "*piVar5 = iVar20;" (assignment_expression "*piVar5 = iVar20" (pointer_expression "*piVar5" * identifier) = identifier) ;) })) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"colors");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"colors")" identifier = (call_expression "LocaleCompare(local_1020,"colors")" identifier (argument_list "(local_1020,"colors")" ( identifier , (string_literal ""colors"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[9] = uVar9;" (assignment_expression "piVar5[9] = uVar9" (subscript_expression "piVar5[9]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"colorspace");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"colorspace")" identifier = (call_expression "LocaleCompare(local_1020,"colorspace")" identifier (argument_list "(local_1020,"colorspace")" ( identifier , (string_literal ""colorspace"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }" { (expression_statement "iVar20 = ParseCommandOption(9,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(9,0,local_30a4)" identifier = (call_expression "ParseCommandOption(9,0,local_30a4)" identifier (argument_list "(9,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                      piVar5[1] = iVar20;\n                    }" { (expression_statement "piVar5[1] = iVar20;" (assignment_expression "piVar5[1] = iVar20" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }" else (compound_statement "{\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"compression");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"compression")" identifier = (call_expression "LocaleCompare(local_1020,"compression")" identifier (argument_list "(local_1020,"compression")" ( identifier , (string_literal ""compression"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }" { (expression_statement "iVar20 = ParseCommandOption(0xe,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0xe,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0xe,0,local_30a4)" identifier (argument_list "(0xe,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                        piVar5[2] = iVar20;\n                      }" { (expression_statement "piVar5[2] = iVar20;" (assignment_expression "piVar5[2] = iVar20" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }" else (compound_statement "{\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"columns");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"columns")" identifier = (call_expression "LocaleCompare(local_1020,"columns")" identifier (argument_list "(local_1020,"columns")" ( identifier , (string_literal ""columns"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[6] = uVar9;" (assignment_expression "piVar5[6] = uVar9" (subscript_expression "piVar5[6]" identifier [ number_literal ]) = identifier) ;) }))) }))) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x44:" case number_literal :) (case_statement "case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"delay");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"delay")" identifier = (call_expression "LocaleCompare(local_1020,"delay")" identifier (argument_list "(local_1020,"delay")" ( identifier , (string_literal ""delay"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x92] = uVar9;" (assignment_expression "piVar5[0x92] = uVar9" (subscript_expression "piVar5[0x92]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"depth");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"depth")" identifier = (call_expression "LocaleCompare(local_1020,"depth")" identifier (argument_list "(local_1020,"depth")" ( identifier , (string_literal ""depth"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[8] = uVar9;" (assignment_expression "piVar5[8] = uVar9" (subscript_expression "piVar5[8]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"dispose");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"dispose")" identifier = (call_expression "LocaleCompare(local_1020,"dispose")" identifier (argument_list "(local_1020,"dispose")" ( identifier , (string_literal ""dispose"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x15,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x15,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x15,0,local_30a4)" identifier (argument_list "(0x15,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                    piVar5[0x90] = iVar20;\n                  }" { (expression_statement "piVar5[0x90] = iVar20;" (assignment_expression "piVar5[0x90] = iVar20" (subscript_expression "piVar5[0x90]" identifier [ number_literal ]) = identifier) ;) })) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x45:" case number_literal :) (case_statement "case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"endian");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"endian")" identifier = (call_expression "LocaleCompare(local_1020,"endian")" identifier (argument_list "(local_1020,"endian")" ( identifier , (string_literal ""endian"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }" { (expression_statement "iVar20 = ParseCommandOption(0x18,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x18,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x18,0,local_30a4)" identifier (argument_list "(0x18,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  piVar5[0x8d] = iVar20;\n                }" { (expression_statement "piVar5[0x8d] = iVar20;" (assignment_expression "piVar5[0x8d] = iVar20" (subscript_expression "piVar5[0x8d]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"error");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"error")" identifier = (call_expression "LocaleCompare(local_1020,"error")" identifier (argument_list "(local_1020,"error")" ( identifier , (string_literal ""error"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" identifier = (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "InterpretLocaleValue(local_30a4,0)" identifier (argument_list "(local_30a4,0)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *)(piVar5 + 0xac) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0xac) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0xac)" * (cast_expression "(double *)(piVar5 + 0xac)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0xac)" ( (binary_expression "piVar5 + 0xac" identifier + number_literal) )))) = (cast_expression "(double)lVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }))) (break_statement "break;" break ;)) (case_statement "default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;" default : (labeled_statement "LAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);" statement_identifier : (expression_statement "SetImageProperty(piVar5,local_1020,local_30a4,param_2);" (call_expression "SetImageProperty(piVar5,local_1020,local_30a4,param_2)" identifier (argument_list "(piVar5,local_1020,local_30a4,param_2)" ( identifier , identifier , identifier , identifier ))) ;)) (break_statement "break;" break ;)) (case_statement "case 0x47:" case number_literal :) (case_statement "case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"gamma");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"gamma")" identifier = (call_expression "LocaleCompare(local_1020,"gamma")" identifier (argument_list "(local_1020,"gamma")" ( identifier , (string_literal ""gamma"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }" { (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" identifier = (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "InterpretLocaleValue(local_30a4,0)" identifier (argument_list "(local_30a4,0)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *)(piVar5 + 0x5b) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0x5b) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0x5b)" * (cast_expression "(double *)(piVar5 + 0x5b)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x5b)" ( (binary_expression "piVar5 + 0x5b" identifier + number_literal) )))) = (cast_expression "(double)lVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"green-primary");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"green-primary")" identifier = (call_expression "LocaleCompare(local_1020,"green-primary")" identifier (argument_list "(local_1020,"green-primary")" ( identifier , (string_literal ""green-primary"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 99) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 99) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 99)" * (cast_expression "(undefined8 *)(piVar5 + 99)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 99)" ( (binary_expression "piVar5 + 99" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }" if (parenthesized_expression "((uVar22 & 8) == 0)" ( (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }" { (expression_statement "*(undefined8 *)(piVar5 + 0x65) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x65) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x65)" * (cast_expression "(undefined8 *)(piVar5 + 0x65)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x65)" ( (binary_expression "piVar5 + 0x65" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }" else (compound_statement "{\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }" { (expression_statement "*(undefined8 *)(piVar5 + 0x65) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x65) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x65)" * (cast_expression "(undefined8 *)(piVar5 + 0x65)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x65)" ( (binary_expression "piVar5 + 0x65" identifier + number_literal) )))) = identifier) ;) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x49:" case number_literal :) (case_statement "case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"id");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"id")" identifier = (call_expression "LocaleCompare(local_1020,"id")" identifier (argument_list "(local_1020,"id")" ( identifier , (string_literal ""id"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }" { (expression_statement "CopyMagickString(local_2020,local_30a4,0x1000);" (call_expression "CopyMagickString(local_2020,local_30a4,0x1000)" identifier (argument_list "(local_2020,local_30a4,0x1000)" ( identifier , identifier , number_literal ))) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"iterations");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"iterations")" identifier = (call_expression "LocaleCompare(local_1020,"iterations")" identifier (argument_list "(local_1020,"iterations")" ( identifier , (string_literal ""iterations"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x95] = uVar9;" (assignment_expression "piVar5[0x95] = uVar9" (subscript_expression "piVar5[0x95]" identifier [ number_literal ]) = identifier) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x4d:" case number_literal :) (case_statement "case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"magick-signature");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"magick-signature")" identifier = (call_expression "LocaleCompare(local_1020,"magick-signature")" identifier (argument_list "(local_1020,"magick-signature")" ( identifier , (string_literal ""magick-signature"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }" { (expression_statement "local_3078 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "local_3078 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"mattecolor");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"mattecolor")" identifier = (call_expression "LocaleCompare(local_1020,"mattecolor")" identifier (argument_list "(local_1020,"mattecolor")" ( identifier , (string_literal ""mattecolor"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }" { (expression_statement "piVar18 = piVar5 + 0xcd2;" (assignment_expression "piVar18 = piVar5 + 0xcd2" identifier = (binary_expression "piVar5 + 0xcd2" identifier + number_literal)) ;) (goto_statement "goto code_r0x0025b456;" goto statement_identifier ;) })) (expression_statement "iVar20 = LocaleCompare(local_1020,"maximum-error");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"maximum-error")" identifier = (call_expression "LocaleCompare(local_1020,"maximum-error")" identifier (argument_list "(local_1020,"maximum-error")" ( identifier , (string_literal ""maximum-error"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }" { (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" identifier = (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "InterpretLocaleValue(local_30a4,0)" identifier (argument_list "(local_30a4,0)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *)(piVar5 + 0xb0) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0xb0) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0xb0)" * (cast_expression "(double *)(piVar5 + 0xb0)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0xb0)" ( (binary_expression "piVar5 + 0xb0" identifier + number_literal) )))) = (cast_expression "(double)lVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"mean-error");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"mean-error")" identifier = (call_expression "LocaleCompare(local_1020,"mean-error")" identifier (argument_list "(local_1020,"mean-error")" ( identifier , (string_literal ""mean-error"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }" { (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" identifier = (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "InterpretLocaleValue(local_30a4,0)" identifier (argument_list "(local_30a4,0)" ( identifier , number_literal ))))) ;) (expression_statement "*(double *)(piVar5 + 0xae) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0xae) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0xae)" * (cast_expression "(double *)(piVar5 + 0xae)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0xae)" ( (binary_expression "piVar5 + 0xae" identifier + number_literal) )))) = (cast_expression "(double)lVar27" ( (type_descriptor "double" primitive_type) ) identifier)) ;) }) (else_clause "else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }" else (compound_statement "{\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"montage");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"montage")" identifier = (call_expression "LocaleCompare(local_1020,"montage")" identifier (argument_list "(local_1020,"montage")" ( identifier , (string_literal ""montage"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "CloneString(piVar5 + 0x78,local_30a4);" (call_expression "CloneString(piVar5 + 0x78,local_30a4)" identifier (argument_list "(piVar5 + 0x78,local_30a4)" ( (binary_expression "piVar5 + 0x78" identifier + number_literal) , identifier ))) ;) }))) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x4e:" case number_literal :) (case_statement "case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"number-channels");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"number-channels")" identifier = (call_expression "LocaleCompare(local_1020,"number-channels")" identifier (argument_list "(local_1020,"number-channels")" ( identifier , (string_literal ""number-channels"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0xa6] = uVar9;" (assignment_expression "piVar5[0xa6] = uVar9" (subscript_expression "piVar5[0xa6]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"number-meta-channels");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"number-meta-channels")" identifier = (call_expression "LocaleCompare(local_1020,"number-meta-channels")" identifier (argument_list "(local_1020,"number-meta-channels")" ( identifier , (string_literal ""number-meta-channels"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }" { (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0xa7] = uVar9;" (assignment_expression "piVar5[0xa7] = uVar9" (subscript_expression "piVar5[0xa7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }" if (parenthesized_expression "(0x40 < uVar9)" ( (binary_expression "0x40 < uVar9" number_literal < identifier) )) (compound_statement "{\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }" { (if_statement "if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }" { (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7)" identifier (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier ))) ;) (expression_statement "pcVar31 = "ImproperImageHeader";" (assignment_expression "pcVar31 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x245;" (assignment_expression "uVar19 = 0x245" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) })) }))) (break_statement "break;" break ;)) (case_statement "case 0x4f:" case number_literal :) (case_statement "case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"orientation");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"orientation")" identifier = (call_expression "LocaleCompare(local_1020,"orientation")" identifier (argument_list "(local_1020,"orientation")" ( identifier , (string_literal ""orientation"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x36,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x36,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x36,0,local_30a4)" identifier (argument_list "(0x36,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                piVar5[4] = iVar20;\n              }" { (expression_statement "piVar5[4] = iVar20;" (assignment_expression "piVar5[4] = iVar20" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x50:" case number_literal :) (case_statement "case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"page");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"page")" identifier = (call_expression "LocaleCompare(local_1020,"page")" identifier (argument_list "(local_1020,"page")" ( identifier , (string_literal ""page"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }" { (expression_statement "uVar19 = GetPageGeometry(local_30a4);" (assignment_expression "uVar19 = GetPageGeometry(local_30a4)" identifier = (call_expression "GetPageGeometry(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);" (call_expression "ParseAbsoluteGeometry(uVar19,piVar5 + 0x80)" identifier (argument_list "(uVar19,piVar5 + 0x80)" ( identifier , (binary_expression "piVar5 + 0x80" identifier + number_literal) ))) ;) (expression_statement "DestroyString(uVar19);" (call_expression "DestroyString(uVar19)" identifier (argument_list "(uVar19)" ( identifier ))) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"pixel-intensity");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"pixel-intensity")" identifier = (call_expression "LocaleCompare(local_1020,"pixel-intensity")" identifier (argument_list "(local_1020,"pixel-intensity")" ( identifier , (string_literal ""pixel-intensity"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }" { (expression_statement "iVar20 = ParseCommandOption(0x38,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x38,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x38,0,local_30a4)" identifier (argument_list "(0x38,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                    piVar5[0x8b] = iVar20;\n                  }" { (expression_statement "piVar5[0x8b] = iVar20;" (assignment_expression "piVar5[0x8b] = iVar20" (subscript_expression "piVar5[0x8b]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"profile");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"profile")" identifier = (call_expression "LocaleCompare(local_1020,"profile")" identifier (argument_list "(local_1020,"profile")" ( identifier , (string_literal ""profile"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (if_statement "if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }" if (parenthesized_expression "(local_3084 == 0)" ( (binary_expression "local_3084 == 0" identifier == number_literal) )) (compound_statement "{\n                    local_3084 = NewLinkedList(0);\n                  }" { (expression_statement "local_3084 = NewLinkedList(0);" (assignment_expression "local_3084 = NewLinkedList(0)" identifier = (call_expression "NewLinkedList(0)" identifier (argument_list "(0)" ( number_literal )))) ;) })) (expression_statement "uVar19 = AcquireString(local_30a4);" (assignment_expression "uVar19 = AcquireString(local_30a4)" identifier = (call_expression "AcquireString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "AppendValueToLinkedList(local_3084,uVar19);" (call_expression "AppendValueToLinkedList(local_3084,uVar19)" identifier (argument_list "(local_3084,uVar19)" ( identifier , identifier ))) ;) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x51:" case number_literal :) (case_statement "case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"quality");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"quality")" identifier = (call_expression "LocaleCompare(local_1020,"quality")" identifier (argument_list "(local_1020,"quality")" ( identifier , (string_literal ""quality"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[3] = uVar9;" (assignment_expression "piVar5[3] = uVar9" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x52:" case number_literal :) (case_statement "case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"red-primary");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"red-primary")" identifier = (call_expression "LocaleCompare(local_1020,"red-primary")" identifier (argument_list "(local_1020,"red-primary")" ( identifier , (string_literal ""red-primary"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }" { (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 0x5d) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x5d) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x5d)" * (cast_expression "(undefined8 *)(piVar5 + 0x5d)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x5d)" ( (binary_expression "piVar5 + 0x5d" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }" if (parenthesized_expression "((uVar22 & 8) != 0)" ( (binary_expression "(uVar22 & 8) != 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }" { (expression_statement "*(undefined8 *)(piVar5 + 0x5f) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x5f) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x5f)" * (cast_expression "(undefined8 *)(piVar5 + 0x5f)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x5f)" ( (binary_expression "piVar5 + 0x5f" identifier + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"rendering-intent");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"rendering-intent")" identifier = (call_expression "LocaleCompare(local_1020,"rendering-intent")" identifier (argument_list "(local_1020,"rendering-intent")" ( identifier , (string_literal ""rendering-intent"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }" { (expression_statement "iVar20 = ParseCommandOption(0x23,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x23,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x23,0,local_30a4)" identifier (argument_list "(0x23,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                    piVar5[0x75] = iVar20;\n                  }" { (expression_statement "piVar5[0x75] = iVar20;" (assignment_expression "piVar5[0x75] = iVar20" (subscript_expression "piVar5[0x75]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }" else (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"resolution");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"resolution")" identifier = (call_expression "LocaleCompare(local_1020,"resolution")" identifier (argument_list "(local_1020,"resolution")" ( identifier , (string_literal ""resolution"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }" { (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 0x7c) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x7c) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x7c)" * (cast_expression "(undefined8 *)(piVar5 + 0x7c)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x7c)" ( (binary_expression "piVar5 + 0x7c" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }" if (parenthesized_expression "((uVar22 & 8) == 0)" ( (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }" { (expression_statement "*(undefined8 *)(piVar5 + 0x7e) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x7e) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x7e)" * (cast_expression "(undefined8 *)(piVar5 + 0x7e)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x7e)" ( (binary_expression "piVar5 + 0x7e" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }" else (compound_statement "{\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }" { (expression_statement "*(undefined8 *)(piVar5 + 0x7e) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x7e) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x7e)" * (cast_expression "(undefined8 *)(piVar5 + 0x7e)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x7e)" ( (binary_expression "piVar5 + 0x7e" identifier + number_literal) )))) = identifier) ;) }))) }) (else_clause "else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }" else (compound_statement "{\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }" { (expression_statement "iVar20 = LocaleCompare(local_1020,&UNK_003440a8);" (assignment_expression "iVar20 = LocaleCompare(local_1020,&UNK_003440a8)" identifier = (call_expression "LocaleCompare(local_1020,&UNK_003440a8)" identifier (argument_list "(local_1020,&UNK_003440a8)" ( identifier , (pointer_expression "&UNK_003440a8" & identifier) )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[7] = uVar9;" (assignment_expression "piVar5[7] = uVar9" (subscript_expression "piVar5[7]" identifier [ number_literal ]) = identifier) ;) }))) }))) }))) (break_statement "break;" break ;)) (case_statement "case 0x53:" case number_literal :) (case_statement "case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"scene");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"scene")" identifier = (call_expression "LocaleCompare(local_1020,"scene")" identifier (argument_list "(local_1020,"scene")" ( identifier , (string_literal ""scene"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtoul(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x91] = uVar9;" (assignment_expression "piVar5[0x91] = uVar9" (subscript_expression "piVar5[0x91]" identifier [ number_literal ]) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x54:" case number_literal :) (case_statement "case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"ticks-per-second");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"ticks-per-second")" identifier = (call_expression "LocaleCompare(local_1020,"ticks-per-second")" identifier (argument_list "(local_1020,"ticks-per-second")" ( identifier , (string_literal ""ticks-per-second"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }" { (expression_statement "lVar16 = strtol(local_30a4,(char **)0x0,10);" (assignment_expression "lVar16 = strtol(local_30a4,(char **)0x0,10)" identifier = (call_expression "strtol(local_30a4,(char **)0x0,10)" identifier (argument_list "(local_30a4,(char **)0x0,10)" ( identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x94] = lVar16;" (assignment_expression "piVar5[0x94] = lVar16" (subscript_expression "piVar5[0x94]" identifier [ number_literal ]) = identifier) ;) }) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }" else (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }" { (expression_statement "iVar20 = LocaleCompare(local_1020,"tile-offset");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"tile-offset")" identifier = (call_expression "LocaleCompare(local_1020,"tile-offset")" identifier (argument_list "(local_1020,"tile-offset")" ( identifier , (string_literal ""tile-offset"" " string_content ") )))) ;) (if_statement "if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }" { (expression_statement "uVar19 = GetPageGeometry(local_30a4);" (assignment_expression "uVar19 = GetPageGeometry(local_30a4)" identifier = (call_expression "GetPageGeometry(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier )))) ;) (expression_statement "ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);" (call_expression "ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a)" identifier (argument_list "(uVar19,piVar5 + 0x9a)" ( identifier , (binary_expression "piVar5 + 0x9a" identifier + number_literal) ))) ;) (expression_statement "DestroyString(uVar19);" (call_expression "DestroyString(uVar19)" identifier (argument_list "(uVar19)" ( identifier ))) ;) })) (expression_statement "iVar20 = LocaleCompare(local_1020,"type");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"type")" identifier = (call_expression "LocaleCompare(local_1020,"type")" identifier (argument_list "(local_1020,"type")" ( identifier , (string_literal ""type"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x49,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x49,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x49,0,local_30a4)" identifier (argument_list "(0x49,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  piVar5[0x9e] = iVar20;\n                }" { (expression_statement "piVar5[0x9e] = iVar20;" (assignment_expression "piVar5[0x9e] = iVar20" (subscript_expression "piVar5[0x9e]" identifier [ number_literal ]) = identifier) ;) })) }))) (break_statement "break;" break ;)) (case_statement "case 0x55:" case number_literal :) (case_statement "case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"units");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"units")" identifier = (call_expression "LocaleCompare(local_1020,"units")" identifier (argument_list "(local_1020,"units")" ( identifier , (string_literal ""units"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "iVar20 = ParseCommandOption(0x41,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x41,0,local_30a4)" identifier = (call_expression "ParseCommandOption(0x41,0,local_30a4)" identifier (argument_list "(0x41,0,local_30a4)" ( number_literal , number_literal , identifier )))) ;) (if_statement "if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }" if (parenthesized_expression "(-1 < iVar20)" ( (binary_expression "-1 < iVar20" number_literal < identifier) )) (compound_statement "{\n                piVar5[0x77] = iVar20;\n              }" { (expression_statement "piVar5[0x77] = iVar20;" (assignment_expression "piVar5[0x77] = iVar20" (subscript_expression "piVar5[0x77]" identifier [ number_literal ]) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x57:" case number_literal :) (case_statement "case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" case number_literal : (expression_statement "iVar20 = LocaleCompare(local_1020,"white-point");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"white-point")" identifier = (call_expression "LocaleCompare(local_1020,"white-point")" identifier (argument_list "(local_1020,"white-point")" ( identifier , (string_literal ""white-point"" " string_content ") )))) ;) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b5d0;" goto statement_identifier ;)) (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" identifier = (call_expression "ParseGeometry(local_30a4,&local_304c)" identifier (argument_list "(local_30a4,&local_304c)" ( identifier , (pointer_expression "&local_304c" & identifier) )))) ;) (expression_statement "*(undefined8 *)(piVar5 + 0x6f) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x6f) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x6f)" * (cast_expression "(undefined8 *)(piVar5 + 0x6f)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x6f)" ( (binary_expression "piVar5 + 0x6f" identifier + number_literal) )))) = identifier) ;) (if_statement "if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" if (parenthesized_expression "((uVar22 & 8) == 0)" ( (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" ( (binary_expression "uVar22 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }" { (expression_statement "*(undefined8 *)(piVar5 + 0x71) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x71) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x71)" * (cast_expression "(undefined8 *)(piVar5 + 0x71)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x71)" ( (binary_expression "piVar5 + 0x71" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" else (compound_statement "{\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" { (expression_statement "*(undefined8 *)(piVar5 + 0x71) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x71) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x71)" * (cast_expression "(undefined8 *)(piVar5 + 0x71)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0x71)" ( (binary_expression "piVar5 + 0x71" identifier + number_literal) )))) = identifier) ;) })))) })) }))) (goto_statement "goto LAB_0025ac68;" goto statement_identifier ;) }))) (labeled_statement "LAB_0025aca4:\n        DestroyString(local_30a4);" statement_identifier : (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" identifier (argument_list "(local_30a4)" ( identifier ))) ;)) (expression_statement "ReadBlobByte(piVar5);" (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "iVar6 = LocaleCompare(local_2020,"MagickPixelCache");" (assignment_expression "iVar6 = LocaleCompare(local_2020,"MagickPixelCache")" identifier = (call_expression "LocaleCompare(local_2020,"MagickPixelCache")" identifier (argument_list "(local_2020,"MagickPixelCache")" ( identifier , (string_literal ""MagickPixelCache"" " string_content ") )))) ;) (if_statement "if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }" if (parenthesized_expression "(((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U))" ( (binary_expression "((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)" (parenthesized_expression "((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))))))))" ( (binary_expression "(((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))" (parenthesized_expression "(((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0))" ( (binary_expression "((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)" (parenthesized_expression "((iVar6 != 0) || (*piVar5 == 0))" ( (binary_expression "(iVar6 != 0) || (*piVar5 == 0)" (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) || (parenthesized_expression "(*piVar5 == 0)" ( (binary_expression "*piVar5 == 0" (pointer_expression "*piVar5" * identifier) == number_literal) ))) )) || (parenthesized_expression "(piVar5[2] == 0)" ( (binary_expression "piVar5[2] == 0" (subscript_expression "piVar5[2]" identifier [ number_literal ]) == number_literal) ))) )) || (parenthesized_expression "(((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))" ( (parenthesized_expression "((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))))))" ( (binary_expression "(piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))" (parenthesized_expression "(piVar5[6] == 0 || (piVar5[7] == 0))" ( (binary_expression "piVar5[6] == 0 || (piVar5[7] == 0)" (binary_expression "piVar5[6] == 0" (subscript_expression "piVar5[6]" identifier [ number_literal ]) == number_literal) || (parenthesized_expression "(piVar5[7] == 0)" ( (binary_expression "piVar5[7] == 0" (subscript_expression "piVar5[7]" identifier [ number_literal ]) == number_literal) ))) )) || (parenthesized_expression "((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))" ( (parenthesized_expression "(0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))))" ( (binary_expression "0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))" (binary_expression "0x40 < (uint)piVar5[0xa6]" number_literal < (cast_expression "(uint)piVar5[0xa6]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[0xa6]" identifier [ number_literal ]))) || (parenthesized_expression "((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))" ( (parenthesized_expression "(0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))" ( (binary_expression "0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))" (binary_expression "0x38 < (uint)piVar5[0xa7]" number_literal < (cast_expression "(uint)piVar5[0xa7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[0xa7]" identifier [ number_literal ]))) || (parenthesized_expression "(0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))" ( (binary_expression "0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])" number_literal < (call_expression "(uint)(piVar5[0xa6] + piVar5[0xa7])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar5[0xa6] + piVar5[0xa7])" ( (binary_expression "piVar5[0xa6] + piVar5[0xa7]" (subscript_expression "piVar5[0xa6]" identifier [ number_literal ]) + (subscript_expression "piVar5[0xa7]" identifier [ number_literal ])) )))) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression "(0x3f < piVar5[8] - 1U)" ( (binary_expression "0x3f < piVar5[8] - 1U" number_literal < (binary_expression "piVar5[8] - 1U" (subscript_expression "piVar5[8]" identifier [ number_literal ]) - number_literal)) ))) )) (compound_statement "{\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }" { (if_statement "if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" { (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar31 = "ImproperImageHeader";" (assignment_expression "pcVar31 = "ImproperImageHeader"" identifier = (string_literal ""ImproperImageHeader"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x31d;" (assignment_expression "uVar19 = 0x31d" identifier = number_literal) ;) (labeled_statement "LAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);" statement_identifier : (expression_statement "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0)" identifier (argument_list "(param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0)" ( identifier , (string_literal ""coders/mpc.c"" " string_content ") , (string_literal ""ReadMPCImage"" " string_content ") , identifier , identifier , identifier , (string_literal ""`%s\'"" " string_content escape_sequence ") , (binary_expression "param_1 + 0x21f0" identifier + number_literal) ))) ;)) (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "DestroyImageList(piVar5);" (call_expression "DestroyImageList(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0025b79c;" goto statement_identifier ;) })) (expression_statement "uVar9 = GetMagickSignature(0);" (assignment_expression "uVar9 = GetMagickSignature(0)" identifier = (call_expression "GetMagickSignature(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (if_statement "if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(local_3078 != uVar9)" ( (binary_expression "local_3078 != uVar9" identifier != identifier) )) (compound_statement "{\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }" { (if_statement "if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" { (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar31 = "IncompatibleAPI";" (assignment_expression "pcVar31 = "IncompatibleAPI"" identifier = (string_literal ""IncompatibleAPI"" " string_content ")) ;) (expression_statement "uVar30 = 0x1bd;" (assignment_expression "uVar30 = 0x1bd" identifier = number_literal) ;) (expression_statement "uVar19 = 0x323;" (assignment_expression "uVar19 = 0x323" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }" if (parenthesized_expression "(piVar5[0x78] != 0)" ( (binary_expression "piVar5[0x78] != 0" (subscript_expression "piVar5[0x78]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "puVar12 = (undefined1 *)AcquireString(0);" (assignment_expression "puVar12 = (undefined1 *)AcquireString(0)" identifier = (cast_expression "(undefined1 *)AcquireString(0)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireString(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "piVar5[0x79] = (int)puVar12;" (assignment_expression "piVar5[0x79] = (int)puVar12" (subscript_expression "piVar5[0x79]" identifier [ number_literal ]) = (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_30ac = (char *)0x1000;" (assignment_expression "local_30ac = (char *)0x1000" identifier = (cast_expression "(char *)0x1000" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);" do (compound_statement "{\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          }" { (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (expression_statement "puVar25 = puVar12;" (assignment_expression "puVar25 = puVar12" identifier = identifier) ;) (if_statement "if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }" if (parenthesized_expression "(local_30ac <= iVar6 + 0x1000U)" ( (binary_expression "local_30ac <= iVar6 + 0x1000U" identifier <= (binary_expression "iVar6 + 0x1000U" identifier + number_literal)) )) (compound_statement "{\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }" { (expression_statement "local_30ac = (char *)((int)local_30ac * 2);" (assignment_expression "local_30ac = (char *)((int)local_30ac * 2)" identifier = (cast_expression "(char *)((int)local_30ac * 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_30ac * 2)" ( (binary_expression "(int)local_30ac * 2" (cast_expression "(int)local_30ac" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);" (assignment_expression "iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1)" identifier = (call_expression "ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1)" identifier (argument_list "(piVar5[0x79],(int)local_30ac + 0x1000,1)" ( (subscript_expression "piVar5[0x79]" identifier [ number_literal ]) , (binary_expression "(int)local_30ac + 0x1000" (cast_expression "(int)local_30ac" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , number_literal )))) ;) (expression_statement "piVar5[0x79] = iVar20;" (assignment_expression "piVar5[0x79] = iVar20" (subscript_expression "piVar5[0x79]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }" { (if_statement "if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }" { (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" identifier (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" ( identifier , identifier ))) ;) })) (expression_statement "pcVar31 = "UnableToReadImageData";" (assignment_expression "pcVar31 = "UnableToReadImageData"" identifier = (string_literal ""UnableToReadImageData"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x341;" (assignment_expression "uVar19 = 0x341" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "puVar25 = (undefined1 *)(iVar20 + iVar6);" (assignment_expression "puVar25 = (undefined1 *)(iVar20 + iVar6)" identifier = (cast_expression "(undefined1 *)(iVar20 + iVar6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar6)" ( (binary_expression "iVar20 + iVar6" identifier + identifier) )))) ;) })) (expression_statement "iVar20 = ReadBlobByte(piVar5);" (assignment_expression "iVar20 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar20 == -1) break;" if (parenthesized_expression "(iVar20 == -1)" ( (binary_expression "iVar20 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "puVar12 = puVar25 + 1;" (assignment_expression "puVar12 = puVar25 + 1" identifier = (binary_expression "puVar25 + 1" identifier + number_literal)) ;) (expression_statement "*puVar25 = (char)iVar20;" (assignment_expression "*puVar25 = (char)iVar20" (pointer_expression "*puVar25" * identifier) = (cast_expression "(char)iVar20" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) ;) })) (if_statement "if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }" if (parenthesized_expression "(local_3084 != 0)" ( (binary_expression "local_3084 != 0" identifier != number_literal) )) (compound_statement "{\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }" { (expression_statement "ResetLinkedListIterator(local_3084);" (call_expression "ResetLinkedListIterator(local_3084)" identifier (argument_list "(local_3084)" ( identifier ))) ;) (expression_statement "local_30ac = (char *)GetNextValueInLinkedList(local_3084);" (assignment_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084)" identifier = (cast_expression "(char *)GetNextValueInLinkedList(local_3084)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextValueInLinkedList(local_3084)" identifier (argument_list "(local_3084)" ( identifier ))))) ;) (if_statement "if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }" if (parenthesized_expression "(local_30ac != (char *)0x0)" ( (binary_expression "local_30ac != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }" { (while_statement "while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }" { (expression_statement "uVar22 = ReadBlobMSBLong(piVar5);" (assignment_expression "uVar22 = ReadBlobMSBLong(piVar5)" identifier = (call_expression "ReadBlobMSBLong(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "uVar28 = GetBlobSize(piVar5);" (assignment_expression "uVar28 = GetBlobSize(piVar5)" identifier = (call_expression "GetBlobSize(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;" if (parenthesized_expression "((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0))" ( (binary_expression "(((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)" (parenthesized_expression "(((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22))" ( (binary_expression "((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)" (parenthesized_expression "((int)((ulonglong)uVar28 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar28 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar28 < uVar22)" ( (binary_expression "(uint)uVar28 < uVar22" (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) < identifier) ))) )) || (parenthesized_expression "(iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)" ( (comma_expression "iVar6 = AcquireStringInfo(uVar22), iVar6 == 0" (assignment_expression "iVar6 = AcquireStringInfo(uVar22)" identifier = (call_expression "AcquireStringInfo(uVar22)" identifier (argument_list "(uVar22)" ( identifier )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0025ba84;" goto statement_identifier ;)) (expression_statement "uVar19 = GetStringInfoDatum(iVar6);" (assignment_expression "uVar19 = GetStringInfoDatum(iVar6)" identifier = (call_expression "GetStringInfoDatum(iVar6)" identifier (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "uVar13 = ReadBlob(piVar5,uVar22,uVar19);" (assignment_expression "uVar13 = ReadBlob(piVar5,uVar22,uVar19)" identifier = (call_expression "ReadBlob(piVar5,uVar22,uVar19)" identifier (argument_list "(piVar5,uVar22,uVar19)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar22 != uVar13) break;" if (parenthesized_expression "(uVar22 != uVar13)" ( (binary_expression "uVar22 != uVar13" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);" (assignment_expression "local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2)" identifier = (call_expression "SetImageProfile(piVar5,local_30ac,iVar6,param_2)" identifier (argument_list "(piVar5,local_30ac,iVar6,param_2)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "DestroyStringInfo(iVar6);" (call_expression "DestroyStringInfo(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) (if_statement "if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;" if (parenthesized_expression "((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0))" ( (binary_expression "(local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)" (parenthesized_expression "(local_3080 == 0)" ( (binary_expression "local_3080 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)" ( (comma_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0" (assignment_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084)" identifier = (cast_expression "(char *)GetNextValueInLinkedList(local_3084)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "GetNextValueInLinkedList(local_3084)" identifier (argument_list "(local_3084)" ( identifier ))))) , (binary_expression "local_30ac == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0025ba84;" goto statement_identifier ;)) })) (expression_statement "DestroyStringInfo(iVar6);" (call_expression "DestroyStringInfo(iVar6)" identifier (argument_list "(iVar6)" ( identifier ))) ;) })) (labeled_statement "LAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);" statement_identifier : (expression_statement "DestroyLinkedList(local_3084,puVar4);" (call_expression "DestroyLinkedList(local_3084,puVar4)" identifier (argument_list "(local_3084,puVar4)" ( identifier , identifier ))) ;)) })) (expression_statement "iVar6 = GetImageQuantumDepth(piVar5,0);" (assignment_expression "iVar6 = GetImageQuantumDepth(piVar5,0)" identifier = (call_expression "GetImageQuantumDepth(piVar5,0)" identifier (argument_list "(piVar5,0)" ( identifier , number_literal )))) ;) (if_statement "if (*piVar5 != 2) goto LAB_0025ad8a;" if (parenthesized_expression "(*piVar5 != 2)" ( (binary_expression "*piVar5 != 2" (pointer_expression "*piVar5" * identifier) != number_literal) )) (goto_statement "goto LAB_0025ad8a;" goto statement_identifier ;)) (expression_statement "uVar22 = (uint)(iVar6 * 3) >> 3;" (assignment_expression "uVar22 = (uint)(iVar6 * 3) >> 3" identifier = (binary_expression "(uint)(iVar6 * 3) >> 3" (call_expression "(uint)(iVar6 * 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar6 * 3)" ( (binary_expression "iVar6 * 3" identifier * number_literal) ))) >> number_literal)) ;) (expression_statement "iVar20 = piVar5[9];" (assignment_expression "iVar20 = piVar5[9]" identifier = (subscript_expression "piVar5[9]" identifier [ number_literal ])) ;) (expression_statement "uVar28 = GetBlobSize(piVar5);" (assignment_expression "uVar28 = GetBlobSize(piVar5)" identifier = (call_expression "GetBlobSize(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20))" ( (binary_expression "((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)" (parenthesized_expression "((int)((ulonglong)uVar28 >> 0x20) == 0)" ( (binary_expression "(int)((ulonglong)uVar28 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" ( (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) == number_literal) )) && (parenthesized_expression "((uint)uVar28 < uVar22 * iVar20)" ( (binary_expression "(uint)uVar28 < uVar22 * iVar20" (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier) < (binary_expression "uVar22 * iVar20" identifier * identifier)) ))) )) (compound_statement "{\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }" { (expression_statement "pcVar31 = "InsufficientImageDataInFile";" (assignment_expression "pcVar31 = "InsufficientImageDataInFile"" identifier = (string_literal ""InsufficientImageDataInFile"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x37d;" (assignment_expression "uVar19 = 0x37d" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);" (assignment_expression "iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50)" identifier = (call_expression "AcquireQuantumMemory(piVar5[9] + 1,0x50)" identifier (argument_list "(piVar5[9] + 1,0x50)" ( (binary_expression "piVar5[9] + 1" (subscript_expression "piVar5[9]" identifier [ number_literal ]) + number_literal) , number_literal )))) ;) (expression_statement "piVar5[10] = iVar20;" (assignment_expression "piVar5[10] = iVar20" (subscript_expression "piVar5[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }" { (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" identifier = number_literal) ;) (expression_statement "uVar19 = 0x381;" (assignment_expression "uVar19 = 0x381" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(piVar5[9] != 0)" ( (binary_expression "piVar5[9] != 0" (subscript_expression "piVar5[9]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }" { (expression_statement "puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);" (assignment_expression "puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22)" identifier = (cast_expression "(uint *)AcquireQuantumMemory(piVar5[9],uVar22)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "AcquireQuantumMemory(piVar5[9],uVar22)" identifier (argument_list "(piVar5[9],uVar22)" ( (subscript_expression "piVar5[9]" identifier [ number_literal ]) , identifier ))))) ;) (if_statement "if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }" if (parenthesized_expression "(puVar14 == (uint *)0x0)" ( (binary_expression "puVar14 == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }" { (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" identifier = (string_literal ""MemoryAllocationFailed"" " string_content ")) ;) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" identifier = number_literal) ;) (expression_statement "uVar19 = 0x38a;" (assignment_expression "uVar19 = 0x38a" identifier = number_literal) ;) }) (else_clause "else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }" else (compound_statement "{\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }" { (expression_statement "iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);" (assignment_expression "iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14)" identifier = (call_expression "ReadBlob(piVar5,uVar22 * piVar5[9],puVar14)" identifier (argument_list "(piVar5,uVar22 * piVar5[9],puVar14)" ( identifier , (binary_expression "uVar22 * piVar5[9]" identifier * (subscript_expression "piVar5[9]" identifier [ number_literal ])) , identifier )))) ;) (expression_statement "fVar3 = DAT_002e814c;" (assignment_expression "fVar3 = DAT_002e814c" identifier = identifier) ;) (expression_statement "fVar2 = DAT_002e8148;" (assignment_expression "fVar2 = DAT_002e8148" identifier = identifier) ;) (expression_statement "iVar20 = piVar5[9];" (assignment_expression "iVar20 = piVar5[9]" identifier = (subscript_expression "piVar5[9]" identifier [ number_literal ])) ;) (if_statement "if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }" if (parenthesized_expression "(uVar22 * iVar20 - iVar15 == 0)" ( (binary_expression "uVar22 * iVar20 - iVar15 == 0" (binary_expression "uVar22 * iVar20 - iVar15" (binary_expression "uVar22 * iVar20" identifier * identifier) - identifier) == number_literal) )) (compound_statement "{\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }" { (if_statement "if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" if (parenthesized_expression "(iVar6 == 0x10)" ( (binary_expression "iVar6 == 0x10" identifier == number_literal) )) (compound_statement "{\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }" { (if_statement "if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }" { (expression_statement "pdVar17 = (double *)(piVar5[10] + 0x20);" (assignment_expression "pdVar17 = (double *)(piVar5[10] + 0x20)" identifier = (cast_expression "(double *)(piVar5[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[10] + 0x20)" ( (binary_expression "piVar5[10] + 0x20" (subscript_expression "piVar5[10]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "puVar21 = puVar14;" (assignment_expression "puVar21 = puVar14" identifier = identifier) ;) (do_statement "do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);" do (compound_statement "{\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  }" { (expression_statement "puVar23 = (uint *)((int)puVar21 + 6);" (assignment_expression "puVar23 = (uint *)((int)puVar21 + 6)" identifier = (cast_expression "(uint *)((int)puVar21 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 6)" ( (binary_expression "(int)puVar21 + 6" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);" (assignment_expression "*pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" (pointer_expression "*pdVar17" * identifier) = (cast_expression "(double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" ( (binary_expression "(ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8" (binary_expression "(ushort)*puVar21 << 8" (binary_expression "(ushort)*puVar21" (parenthesized_expression "(ushort)" ( identifier )) * identifier) << number_literal) | (binary_expression "(ushort)*puVar21 >> 8" (binary_expression "(ushort)*puVar21" (parenthesized_expression "(ushort)" ( identifier )) * identifier) >> number_literal)) ))))) ;) (expression_statement "pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);" (assignment_expression "pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) = (cast_expression "(double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" ( (binary_expression "*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8" (binary_expression "*(ushort *)((int)puVar21 + 2) << 8" (pointer_expression "*(ushort *)((int)puVar21 + 2)" * (cast_expression "(ushort *)((int)puVar21 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 2)" ( (binary_expression "(int)puVar21 + 2" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)((int)puVar21 + 2) >> 8" (pointer_expression "*(ushort *)((int)puVar21 + 2)" * (cast_expression "(ushort *)((int)puVar21 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 2)" ( (binary_expression "(int)puVar21 + 2" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal)) ))))) ;) (expression_statement "pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;" (assignment_expression "pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) = (cast_expression "(double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" ( (type_descriptor "double" primitive_type) ) (call_expression "(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" ( (binary_expression "(ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8" (binary_expression "(ushort)puVar21[1] << 8" (cast_expression "(ushort)puVar21[1]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) << number_literal) | (binary_expression "(ushort)puVar21[1] >> 8" (cast_expression "(ushort)puVar21[1]" ( (type_descriptor "ushort" type_identifier) ) (subscript_expression "puVar21[1]" identifier [ number_literal ])) >> number_literal)) ))))) ;) (expression_statement "pdVar17 = pdVar17 + 10;" (assignment_expression "pdVar17 = pdVar17 + 10" identifier = (binary_expression "pdVar17 + 10" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "((uint *)((int)puVar14 + iVar20 * 6) != puVar23)" ( (binary_expression "(uint *)((int)puVar14 + iVar20 * 6) != puVar23" (cast_expression "(uint *)((int)puVar14 + iVar20 * 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + iVar20 * 6)" ( (binary_expression "(int)puVar14 + iVar20 * 6" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar20 * 6" identifier * number_literal)) ))) != identifier) )) ;) })) }) (else_clause "else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" else (if_statement "if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" if (parenthesized_expression "(iVar6 == 0x20)" ( (binary_expression "iVar6 == 0x20" identifier == number_literal) )) (compound_statement "{\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }" { (if_statement "if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }" { (expression_statement "pdVar17 = (double *)(piVar5[10] + 0x20);" (assignment_expression "pdVar17 = (double *)(piVar5[10] + 0x20)" identifier = (cast_expression "(double *)(piVar5[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[10] + 0x20)" ( (binary_expression "piVar5[10] + 0x20" (subscript_expression "piVar5[10]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "puVar21 = puVar14;" (assignment_expression "puVar21 = puVar14" identifier = identifier) ;) (do_statement "do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);" do (compound_statement "{\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  }" { (expression_statement "uVar22 = *puVar21;" (assignment_expression "uVar22 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "puVar23 = puVar21 + 3;" (assignment_expression "puVar23 = puVar21 + 3" identifier = (binary_expression "puVar21 + 3" identifier + number_literal)) ;) (expression_statement "*pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);" (assignment_expression "*pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (pointer_expression "*pdVar17" * identifier) = (cast_expression "(double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (binary_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2" (cast_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal)) ))) / identifier) )))) ;) (expression_statement "uVar22 = puVar21[1];" (assignment_expression "uVar22 = puVar21[1]" identifier = (subscript_expression "puVar21[1]" identifier [ number_literal ])) ;) (expression_statement "pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);" (assignment_expression "pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (binary_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2" (cast_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal)) ))) / identifier) )))) ;) (expression_statement "uVar22 = puVar21[2];" (assignment_expression "uVar22 = puVar21[2]" identifier = (subscript_expression "puVar21[2]" identifier [ number_literal ])) ;) (expression_statement "pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);" (assignment_expression "pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" ( (binary_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2" (cast_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" ( (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" ( (binary_expression "uVar22 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" ( (binary_expression "uVar22 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar22 << 0x18" identifier << number_literal)) ))) / identifier) )))) ;) (expression_statement "pdVar17 = pdVar17 + 10;" (assignment_expression "pdVar17 = pdVar17 + 10" identifier = (binary_expression "pdVar17 + 10" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "(puVar23 != puVar14 + iVar20 * 3)" ( (binary_expression "puVar23 != puVar14 + iVar20 * 3" identifier != (binary_expression "puVar14 + iVar20 * 3" identifier + (binary_expression "iVar20 * 3" identifier * number_literal))) )) ;) })) }) (else_clause "else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" else (compound_statement "{\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" { (if_statement "if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }" if (parenthesized_expression "(iVar6 != 8)" ( (binary_expression "iVar6 != 8" identifier != number_literal) )) (compound_statement "{\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }" { (expression_statement "RelinquishMagickMemory(puVar14);" (call_expression "RelinquishMagickMemory(puVar14)" identifier (argument_list "(puVar14)" ( identifier ))) ;) (expression_statement "pcVar31 = "ImageDepthNotSupported";" (assignment_expression "pcVar31 = "ImageDepthNotSupported"" identifier = (string_literal ""ImageDepthNotSupported"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x398;" (assignment_expression "uVar19 = 0x398" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (if_statement "if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }" if (parenthesized_expression "(0 < iVar20)" ( (binary_expression "0 < iVar20" number_literal < identifier) )) (compound_statement "{\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }" { (expression_statement "pdVar17 = (double *)(piVar5[10] + 0x20);" (assignment_expression "pdVar17 = (double *)(piVar5[10] + 0x20)" identifier = (cast_expression "(double *)(piVar5[10] + 0x20)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[10] + 0x20)" ( (binary_expression "piVar5[10] + 0x20" (subscript_expression "piVar5[10]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "puVar21 = puVar14;" (assignment_expression "puVar21 = puVar14" identifier = identifier) ;) (do_statement "do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);" do (compound_statement "{\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  }" { (expression_statement "puVar23 = (uint *)((int)puVar21 + 3);" (assignment_expression "puVar23 = (uint *)((int)puVar21 + 3)" identifier = (cast_expression "(uint *)((int)puVar21 + 3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 3)" ( (binary_expression "(int)puVar21 + 3" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*pdVar17 = (double)((float)(byte)*puVar21 * fVar3);" (assignment_expression "*pdVar17 = (double)((float)(byte)*puVar21 * fVar3)" (pointer_expression "*pdVar17" * identifier) = (cast_expression "(double)((float)(byte)*puVar21 * fVar3)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)(byte)*puVar21 * fVar3)" ( (binary_expression "(float)(byte)*puVar21 * fVar3" (binary_expression "(float)(byte)*puVar21" (cast_expression "(float)(byte)" ( (type_descriptor "float" primitive_type) ) (parenthesized_expression "(byte)" ( identifier ))) * identifier) * identifier) )))) ;) (expression_statement "pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);" (assignment_expression "pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3)" (subscript_expression "pdVar17[1]" identifier [ number_literal ]) = (cast_expression "(double)((float)*(byte *)((int)puVar21 + 1) * fVar3)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*(byte *)((int)puVar21 + 1) * fVar3)" ( (binary_expression "(float)*(byte *)((int)puVar21 + 1) * fVar3" (cast_expression "(float)*(byte *)((int)puVar21 + 1)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(byte *)((int)puVar21 + 1)" * (cast_expression "(byte *)((int)puVar21 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 1)" ( (binary_expression "(int)puVar21 + 1" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) * identifier) )))) ;) (expression_statement "pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);" (assignment_expression "pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3)" (subscript_expression "pdVar17[2]" identifier [ number_literal ]) = (cast_expression "(double)((float)*(byte *)((int)puVar21 + 2) * fVar3)" ( (type_descriptor "double" primitive_type) ) (parenthesized_expression "((float)*(byte *)((int)puVar21 + 2) * fVar3)" ( (binary_expression "(float)*(byte *)((int)puVar21 + 2) * fVar3" (cast_expression "(float)*(byte *)((int)puVar21 + 2)" ( (type_descriptor "float" primitive_type) ) (pointer_expression "*(byte *)((int)puVar21 + 2)" * (cast_expression "(byte *)((int)puVar21 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar21 + 2)" ( (binary_expression "(int)puVar21 + 2" (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) * identifier) )))) ;) (expression_statement "pdVar17 = pdVar17 + 10;" (assignment_expression "pdVar17 = pdVar17 + 10" identifier = (binary_expression "pdVar17 + 10" identifier + number_literal)) ;) (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" identifier = identifier) ;) }) while (parenthesized_expression "((uint *)(iVar20 * 3 + (int)puVar14) != puVar23)" ( (binary_expression "(uint *)(iVar20 * 3 + (int)puVar14) != puVar23" (cast_expression "(uint *)(iVar20 * 3 + (int)puVar14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 * 3 + (int)puVar14)" ( (binary_expression "iVar20 * 3 + (int)puVar14" (binary_expression "iVar20 * 3" identifier * number_literal) + (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier)) ))) != identifier) )) ;) })) }))))) (expression_statement "RelinquishMagickMemory(puVar14);" (call_expression "RelinquishMagickMemory(puVar14)" identifier (argument_list "(puVar14)" ( identifier ))) ;) (goto_statement "goto LAB_0025ad8a;" goto statement_identifier ;) })) (expression_statement "RelinquishMagickMemory(puVar14);" (call_expression "RelinquishMagickMemory(puVar14)" identifier (argument_list "(puVar14)" ( identifier ))) ;) (expression_statement "pcVar31 = "InsufficientImageDataInFile";" (assignment_expression "pcVar31 = "InsufficientImageDataInFile"" identifier = (string_literal ""InsufficientImageDataInFile"" " string_content ")) ;) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" identifier = number_literal) ;) (expression_statement "uVar19 = 0x390;" (assignment_expression "uVar19 = 0x390" identifier = number_literal) ;) }))) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (labeled_statement "LAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" statement_identifier : (if_statement "if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" if (parenthesized_expression "(((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91]))" ( (binary_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])" (parenthesized_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0))" ( (binary_expression "(*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)" (parenthesized_expression "(*(int *)(param_1 + 0x1bc) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1bc) != 0" (pointer_expression "*(int *)(param_1 + 0x1bc)" * (cast_expression "(int *)(param_1 + 0x1bc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1bc)" ( (binary_expression "param_1 + 0x1bc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])" ( (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91]" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" ( (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) - number_literal) <= (cast_expression "(uint)piVar5[0x91]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar5[0x91]" identifier [ number_literal ]))) ))) )) (compound_statement "{\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" { (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (if_statement "if (local_3080 != 0) goto LAB_0025b914;" if (parenthesized_expression "(local_3080 != 0)" ( (binary_expression "local_3080 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0025b914;" goto statement_identifier ;)) (goto_statement "goto LAB_0025aeb9;" goto statement_identifier ;) }))) (expression_statement "iVar6 = AcquireMagickResource(10,piVar5[6],0);" (assignment_expression "iVar6 = AcquireMagickResource(10,piVar5[6],0)" identifier = (call_expression "AcquireMagickResource(10,piVar5[6],0)" identifier (argument_list "(10,piVar5[6],0)" ( number_literal , (subscript_expression "piVar5[6]" identifier [ number_literal ]) , number_literal )))) ;) (if_statement "if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0))" ( (binary_expression "(iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)" ( (comma_expression "iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0" (assignment_expression "iVar6 = AcquireMagickResource(4,piVar5[7],0)" identifier = (call_expression "AcquireMagickResource(4,piVar5[7],0)" identifier (argument_list "(4,piVar5[7],0)" ( number_literal , (subscript_expression "piVar5[7]" identifier [ number_literal ]) , number_literal )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }" { (expression_statement "pcVar31 = "WidthOrHeightExceedsLimit";" (assignment_expression "pcVar31 = "WidthOrHeightExceedsLimit"" identifier = (string_literal ""WidthOrHeightExceedsLimit"" " string_content ")) ;) (expression_statement "uVar30 = 0x1d1;" (assignment_expression "uVar30 = 0x1d1" identifier = number_literal) ;) (expression_statement "uVar19 = 0x3db;" (assignment_expression "uVar19 = 0x3db" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);" (assignment_expression "iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2)" identifier = (call_expression "PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2)" identifier (argument_list "(piVar5,local_3020,1,&local_3054,param_2)" ( identifier , identifier , number_literal , (pointer_expression "&local_3054" & identifier) , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }" { (expression_statement "SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);" (call_expression "SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2)" identifier (argument_list "(piVar5,piVar5[6],piVar5[7],param_2)" ( identifier , (subscript_expression "piVar5[6]" identifier [ number_literal ]) , (subscript_expression "piVar5[7]" identifier [ number_literal ]) , identifier ))) ;) (expression_statement "pcVar31 = "UnableToPersistPixelCache";" (assignment_expression "pcVar31 = "UnableToPersistPixelCache"" identifier = (string_literal ""UnableToPersistPixelCache"" " string_content ")) ;) (expression_statement "uVar30 = 0x1bd;" (assignment_expression "uVar30 = 0x1bd" identifier = number_literal) ;) (expression_statement "uVar19 = 0x3e3;" (assignment_expression "uVar19 = 0x3e3" identifier = number_literal) ;) (goto_statement "goto LAB_0025b781;" goto statement_identifier ;) })) (expression_statement "iVar6 = EOFBlob(piVar5);" (assignment_expression "iVar6 = EOFBlob(piVar5)" identifier = (call_expression "EOFBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }" { (expression_statement "piVar18 = __errno_location();" (assignment_expression "piVar18 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar19 = GetExceptionMessage(*piVar18);" (assignment_expression "uVar19 = GetExceptionMessage(*piVar18)" identifier = (call_expression "GetExceptionMessage(*piVar18)" identifier (argument_list "(*piVar18)" ( (pointer_expression "*piVar18" * identifier) )))) ;) (expression_statement "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);" (call_expression "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19)" identifier (argument_list "(param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19)" ( identifier , (string_literal ""coders/mpc.c"" " string_content ") , (string_literal ""ReadMPCImage"" " string_content ") , number_literal , number_literal , (string_literal ""UnexpectedEndOfFile"" " string_content ") , (string_literal ""\'%s\': %s"" " escape_sequence string_content escape_sequence string_content ") , (binary_expression "piVar5 + 0xc6" identifier + number_literal) , identifier ))) ;) (expression_statement "DestroyString(uVar19);" (call_expression "DestroyString(uVar19)" identifier (argument_list "(uVar19)" ( identifier ))) ;) (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (labeled_statement "LAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);" statement_identifier : (expression_statement "uVar19 = GetFirstImageInList(piVar5);" (assignment_expression "uVar19 = GetFirstImageInList(piVar5)" identifier = (call_expression "GetFirstImageInList(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;)) (goto_statement "goto LAB_0025b79c;" goto statement_identifier ;) })) (while_statement "while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }" while (parenthesized_expression "(iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6])" ( (comma_expression "iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) , (binary_expression "-1 < (short)(*ppuVar7)[iVar6]" number_literal < (cast_expression "(short)(*ppuVar7)[iVar6]" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (subscript_expression "(*ppuVar7)[iVar6]" (parenthesized_expression "(*ppuVar7)" ( (pointer_expression "*ppuVar7" * identifier) )) [ identifier ])))) )) (compound_statement "{\n          if (iVar6 == -1) goto LAB_0025b908;\n        }" { (if_statement "if (iVar6 == -1) goto LAB_0025b908;" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0025b908;" goto statement_identifier ;)) })) (if_statement "if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }" if (parenthesized_expression "(iVar6 == -1)" ( (binary_expression "iVar6 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }" { (labeled_statement "LAB_0025b908:\n          CloseBlob(piVar5);" statement_identifier : (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;)) (goto_statement "goto LAB_0025b914;" goto statement_identifier ;) })) (expression_statement "AcquireNextImage(param_1,piVar5,param_2);" (call_expression "AcquireNextImage(param_1,piVar5,param_2)" identifier (argument_list "(param_1,piVar5,param_2)" ( identifier , identifier , identifier ))) ;) (expression_statement "iVar20 = GetNextImageInList(piVar5);" (assignment_expression "iVar20 = GetNextImageInList(piVar5)" identifier = (call_expression "GetNextImageInList(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (if_statement "if (iVar20 == 0) break;" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar5 = (int *)SyncNextImageInList(piVar5);" (assignment_expression "piVar5 = (int *)SyncNextImageInList(piVar5)" identifier = (cast_expression "(int *)SyncNextImageInList(piVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "SyncNextImageInList(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))))) ;) (expression_statement "uVar28 = GetBlobSize(piVar5);" (assignment_expression "uVar28 = GetBlobSize(piVar5)" identifier = (call_expression "GetBlobSize(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "uVar29 = TellBlob(piVar5);" (assignment_expression "uVar29 = TellBlob(piVar5)" identifier = (call_expression "TellBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);" (assignment_expression "local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28)" identifier = (call_expression "SetImageProgress(piVar5,"Load/Images",uVar29,uVar28)" identifier (argument_list "(piVar5,"Load/Images",uVar29,uVar28)" ( identifier , (string_literal ""Load/Images"" " string_content ") , identifier , identifier )))) ;) }) while (parenthesized_expression "(local_3080 != 0)" ( (binary_expression "local_3080 != 0" identifier != number_literal) )) ;) (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" identifier (argument_list "(piVar5)" ( identifier ))) ;) (labeled_statement "LAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);" statement_identifier : (expression_statement "uVar19 = DestroyImageList(piVar5);" (assignment_expression "uVar19 = DestroyImageList(piVar5)" identifier = (call_expression "DestroyImageList(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;)) }))) }))) (labeled_statement "LAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\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    return uVar19;\n  }" { (return_statement "return uVar19;" return identifier ;) }))) (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_0025b6e0:\n  *pcVar31 = '\0';" statement_identifier : (expression_statement "*pcVar31 = '\0';" (assignment_expression "*pcVar31 = '\0'" (pointer_expression "*pcVar31" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "SetImageProperty(piVar5,"comment",pcVar10,param_2);" (call_expression "SetImageProperty(piVar5,"comment",pcVar10,param_2)" identifier (argument_list "(piVar5,"comment",pcVar10,param_2)" ( identifier , (string_literal ""comment"" " string_content ") , identifier , identifier ))) ;) (expression_statement "DestroyString(pcVar10);" (call_expression "DestroyString(pcVar10)" identifier (argument_list "(pcVar10)" ( identifier ))) ;) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (labeled_statement "LAB_0025ac68:\n  puVar8 = *ppuVar7;" statement_identifier : (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;)) (expression_statement "uVar1 = puVar8[iVar6];" (assignment_expression "uVar1 = puVar8[iVar6]" identifier = (subscript_expression "puVar8[iVar6]" identifier [ identifier ])) ;) (if_statement "if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;" if (parenthesized_expression "((uVar1 & 0x2000) == 0)" ( (binary_expression "(uVar1 & 0x2000) == 0" (parenthesized_expression "(uVar1 & 0x2000)" ( (binary_expression "uVar1 & 0x2000" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0025ab3f;" goto statement_identifier ;)) (do_statement "do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);" do (compound_statement "{\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  }" { (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" identifier = (call_expression "ReadBlobByte(piVar5)" identifier (argument_list "(piVar5)" ( identifier )))) ;) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" identifier = (pointer_expression "*ppuVar7" * identifier)) ;) (expression_statement "uVar1 = puVar8[iVar6];" (assignment_expression "uVar1 = puVar8[iVar6]" identifier = (subscript_expression "puVar8[iVar6]" identifier [ identifier ])) ;) }) while (parenthesized_expression "((uVar1 & 0x2000) != 0)" ( (binary_expression "(uVar1 & 0x2000) != 0" (parenthesized_expression "(uVar1 & 0x2000)" ( (binary_expression "uVar1 & 0x2000" identifier & number_literal) )) != number_literal) )) ;) (if_statement "if (iVar6 == 0x3a) goto LAB_0025aca4;" if (parenthesized_expression "(iVar6 == 0x3a)" ( (binary_expression "iVar6 == 0x3a" identifier == number_literal) )) (goto_statement "goto LAB_0025aca4;" goto statement_identifier ;)) (goto_statement "goto LAB_0025ab48;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , (string_literal " string_content ") , LIT , (pointer_expression & IDENT) , (binary_expression IDENT + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (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) = 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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (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 )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)))) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) & LIT) )) != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) != LIT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)) + (binary_expression IDENT * LIT)) + LIT) )))) & LIT) )) == LIT) ))) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT ))) ;) })) (switch_statement switch (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) (compound_statement { (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;)) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) }))) }))) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }))) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (break_statement break ;)) (case_statement default : (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;)) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) }) (else_clause else (compound_statement { (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 = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (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 = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (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 = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) }))) }))) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 ;) })) })) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (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 IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) }))) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (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 = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }) (else_clause else (compound_statement { (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 = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })))) })) }))) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) || (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) )))) ))) )) ))) )) ))) )) ))) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (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 (call_expression IDENT (argument_list ( 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 = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (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 ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT * LIT) ))) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) == LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression IDENT * IDENT)) ))) )) (compound_statement { (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 = (call_expression IDENT (argument_list ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) , 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 IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 ( IDENT , (binary_expression IDENT * (subscript_expression IDENT [ LIT ])) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT * IDENT) - IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) << LIT) | (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) >> LIT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT)) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) >> LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) ))) != IDENT) )) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) ))) / IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) ))) / IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) ))) / IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + (binary_expression IDENT * LIT))) )) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * IDENT) * IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) * IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) != IDENT) )) ;) })) }))))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) - LIT) <= (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (subscript_expression IDENT [ LIT ]) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (subscript_expression IDENT [ LIT ]) , LIT )))) , (binary_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) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT ))) ;) (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 = (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 ( )))) ;) (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 ") , (binary_expression IDENT + LIT) , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (goto_statement goto statement_identifier ;) })) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression LIT < (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ IDENT ])))) )) (compound_statement { (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 { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) }))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })))
(function_definition "undefined4 FUN_0025a9a0(int param_1,int param_2)\n\n{\n  ushort uVar1;\n  float fVar2;\n  float fVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  ushort **ppuVar7;\n  ushort *puVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  uint *puVar14;\n  int iVar15;\n  long lVar16;\n  double *pdVar17;\n  int *piVar18;\n  undefined4 uVar19;\n  int iVar20;\n  uint *puVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  undefined1 *puVar25;\n  int in_GS_OFFSET;\n  byte bVar26;\n  longdouble lVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  char *pcVar31;\n  char *local_30ac;\n  char *local_30a4;\n  int local_3084;\n  int local_3080;\n  ulong local_3078;\n  undefined4 local_3054;\n  undefined4 local_3050;\n  undefined8 local_304c;\n  undefined8 uStack_3044;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar26 = 0;\n  uStack_14 = 0x25a9a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  piVar5 = (int *)AcquireImage(param_1,param_2);\n  local_3080 = OpenBlob(param_1,piVar5,2,param_2);\n  if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }\nLAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }\n                    \n  FUN_002decd0();\nLAB_0025b6e0:\n  *pcVar31 = '\0';\n  SetImageProperty(piVar5,"comment",pcVar10,param_2);\n  DestroyString(pcVar10);\n  iVar6 = ReadBlobByte(piVar5);\nLAB_0025ac68:\n  puVar8 = *ppuVar7;\n  uVar1 = puVar8[iVar6];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar6 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}" (type_identifier "undefined4") (function_declarator "FUN_0025a9a0(int param_1,int param_2)" (identifier "FUN_0025a9a0") (parameter_list "(int param_1,int param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  ushort uVar1;\n  float fVar2;\n  float fVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int iVar6;\n  ushort **ppuVar7;\n  ushort *puVar8;\n  ulong uVar9;\n  char *pcVar10;\n  size_t sVar11;\n  undefined1 *puVar12;\n  uint uVar13;\n  uint *puVar14;\n  int iVar15;\n  long lVar16;\n  double *pdVar17;\n  int *piVar18;\n  undefined4 uVar19;\n  int iVar20;\n  uint *puVar21;\n  uint uVar22;\n  uint *puVar23;\n  undefined4 *puVar24;\n  undefined1 *puVar25;\n  int in_GS_OFFSET;\n  byte bVar26;\n  longdouble lVar27;\n  undefined8 uVar28;\n  undefined8 uVar29;\n  undefined4 uVar30;\n  char *pcVar31;\n  char *local_30ac;\n  char *local_30a4;\n  int local_3084;\n  int local_3080;\n  ulong local_3078;\n  undefined4 local_3054;\n  undefined4 local_3050;\n  undefined8 local_304c;\n  undefined8 uStack_3044;\n  undefined1 local_3020 [4096];\n  undefined1 local_2020 [4096];\n  undefined1 local_1020 [4096];\n  int local_20;\n  undefined4 uStack_14;\n  \n  bVar26 = 0;\n  uStack_14 = 0x25a9a9;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }\n  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }\n  if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }\n  if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }\n  if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }\n  piVar5 = (int *)AcquireImage(param_1,param_2);\n  local_3080 = OpenBlob(param_1,piVar5,2,param_2);\n  if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }\nLAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }\n                    \n  FUN_002decd0();\nLAB_0025b6e0:\n  *pcVar31 = '\0';\n  SetImageProperty(piVar5,"comment",pcVar10,param_2);\n  DestroyString(pcVar10);\n  iVar6 = ReadBlobByte(piVar5);\nLAB_0025ac68:\n  puVar8 = *ppuVar7;\n  uVar1 = puVar8[iVar6];\n  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;\n  do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);\n  if (iVar6 == 0x3a) goto LAB_0025aca4;\n  goto LAB_0025ab48;\n}" ({ "{") (declaration "ushort uVar1;" (type_identifier "ushort") (identifier "uVar1") (; ";")) (declaration "float fVar2;" (primitive_type "float") (identifier "fVar2") (; ";")) (declaration "float fVar3;" (primitive_type "float") (identifier "fVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "ushort **ppuVar7;" (type_identifier "ushort") (pointer_declarator "**ppuVar7" (* "*") (pointer_declarator "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (declaration "ushort *puVar8;" (type_identifier "ushort") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "ulong uVar9;" (type_identifier "ulong") (identifier "uVar9") (; ";")) (declaration "char *pcVar10;" (primitive_type "char") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "size_t sVar11;" (primitive_type "size_t") (identifier "sVar11") (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "uint *puVar14;" (type_identifier "uint") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "long lVar16;" (sized_type_specifier "long" (long "long")) (identifier "lVar16") (; ";")) (declaration "double *pdVar17;" (primitive_type "double") (pointer_declarator "*pdVar17" (* "*") (identifier "pdVar17")) (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "undefined4 uVar19;" (type_identifier "undefined4") (identifier "uVar19") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "uint *puVar21;" (type_identifier "uint") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "uint uVar22;" (type_identifier "uint") (identifier "uVar22") (; ";")) (declaration "uint *puVar23;" (type_identifier "uint") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "undefined4 *puVar24;" (type_identifier "undefined4") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "undefined1 *puVar25;" (type_identifier "undefined1") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "byte bVar26;" (type_identifier "byte") (identifier "bVar26") (; ";")) (declaration "longdouble lVar27;" (type_identifier "longdouble") (identifier "lVar27") (; ";")) (declaration "undefined8 uVar28;" (type_identifier "undefined8") (identifier "uVar28") (; ";")) (declaration "undefined8 uVar29;" (type_identifier "undefined8") (identifier "uVar29") (; ";")) (declaration "undefined4 uVar30;" (type_identifier "undefined4") (identifier "uVar30") (; ";")) (declaration "char *pcVar31;" (primitive_type "char") (pointer_declarator "*pcVar31" (* "*") (identifier "pcVar31")) (; ";")) (declaration "char *local_30ac;" (primitive_type "char") (pointer_declarator "*local_30ac" (* "*") (identifier "local_30ac")) (; ";")) (declaration "char *local_30a4;" (primitive_type "char") (pointer_declarator "*local_30a4" (* "*") (identifier "local_30a4")) (; ";")) (declaration "int local_3084;" (primitive_type "int") (identifier "local_3084") (; ";")) (declaration "int local_3080;" (primitive_type "int") (identifier "local_3080") (; ";")) (declaration "ulong local_3078;" (type_identifier "ulong") (identifier "local_3078") (; ";")) (declaration "undefined4 local_3054;" (type_identifier "undefined4") (identifier "local_3054") (; ";")) (declaration "undefined4 local_3050;" (type_identifier "undefined4") (identifier "local_3050") (; ";")) (declaration "undefined8 local_304c;" (type_identifier "undefined8") (identifier "local_304c") (; ";")) (declaration "undefined8 uStack_3044;" (type_identifier "undefined8") (identifier "uStack_3044") (; ";")) (declaration "undefined1 local_3020 [4096];" (type_identifier "undefined1") (array_declarator "local_3020 [4096]" (identifier "local_3020") ([ "[") (number_literal "4096") (] "]")) (; ";")) (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 "bVar26 = 0;" (assignment_expression "bVar26 = 0" (identifier "bVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x25a9a9;" (assignment_expression "uStack_14 = 0x25a9a9" (identifier "uStack_14") (= "=") (number_literal "0x25a9a9")) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (if_statement "if (param_1 == 0) {\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");\n  }" ({ "{") (expression_statement "__assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");" (call_expression "__assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage")" (identifier "__assert_fail") (argument_list "("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage")" (( "(") (string_literal ""image_info != (const ImageInfo *) NULL"" (" """) (string_content "image_info != (const ImageInfo *) NULL") (" """)) (, ",") (string_literal ""coders/mpc.c"" (" """) (string_content "coders/mpc.c") (" """)) (, ",") (number_literal "0xc2") (, ",") (string_literal ""ReadMPCImage"" (" """) (string_content "ReadMPCImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f4) != -0x54535255) {\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x31f4) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_1 + 0x31f4) != -0x54535255" (pointer_expression "*(int *)(param_1 + 0x31f4)" (* "*") (cast_expression "(int *)(param_1 + 0x31f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x31f4)" (( "(") (binary_expression "param_1 + 0x31f4" (identifier "param_1") (+ "+") (number_literal "0x31f4")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;\n  }" ({ "{") (expression_statement "__assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")\n    ;" (call_expression "__assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")" (identifier "__assert_fail") (argument_list "("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")" (( "(") (string_literal ""image_info->signature == MagickCoreSignature"" (" """) (string_content "image_info->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/mpc.c"" (" """) (string_content "coders/mpc.c") (" """)) (, ",") (number_literal "0xc3") (, ",") (string_literal ""ReadMPCImage"" (" """) (string_content "ReadMPCImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x31f0) != 0) {\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x31f0) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x31f0) != 0" (pointer_expression "*(int *)(param_1 + 0x31f0)" (* "*") (cast_expression "(int *)(param_1 + 0x31f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x31f0)" (( "(") (binary_expression "param_1 + 0x31f0" (identifier "param_1") (+ "+") (number_literal "0x31f0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);\n  }" ({ "{") (expression_statement "LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);" (call_expression "LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0)" (identifier "LogMagickEvent") (argument_list "(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0)" (( "(") (number_literal "0x8000") (, ",") (string_literal ""coders/mpc.c"" (" """) (string_content "coders/mpc.c") (" """)) (, ",") (string_literal ""ReadMPCImage"" (" """) (string_content "ReadMPCImage") (" """)) (, ",") (number_literal "0xc5") (, ",") (pointer_expression "&DAT_002f75ae" (& "&") (identifier "DAT_002f75ae")) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_2 == 0) {\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }" (if "if") (parenthesized_expression "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");" (call_expression "__assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage")" (identifier "__assert_fail") (argument_list "("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage")" (( "(") (string_literal ""exception != (ExceptionInfo *) NULL"" (" """) (string_content "exception != (ExceptionInfo *) NULL") (" """)) (, ",") (string_literal ""coders/mpc.c"" (" """) (string_content "coders/mpc.c") (" """)) (, ",") (number_literal "199") (, ",") (string_literal ""ReadMPCImage"" (" """) (string_content "ReadMPCImage") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x1c) != -0x54535255) {\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x1c) != -0x54535255)" (( "(") (binary_expression "*(int *)(param_2 + 0x1c) != -0x54535255" (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "-0x54535255")) () ")")) (compound_statement "{\n                    \n    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");\n  }" ({ "{") (expression_statement "__assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");" (call_expression "__assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage")" (identifier "__assert_fail") (argument_list "("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage")" (( "(") (string_literal ""exception->signature == MagickCoreSignature"" (" """) (string_content "exception->signature == MagickCoreSignature") (" """)) (, ",") (string_literal ""coders/mpc.c"" (" """) (string_content "coders/mpc.c") (" """)) (, ",") (number_literal "200") (, ",") (string_literal ""ReadMPCImage"" (" """) (string_content "ReadMPCImage") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "piVar5 = (int *)AcquireImage(param_1,param_2);" (assignment_expression "piVar5 = (int *)AcquireImage(param_1,param_2)" (identifier "piVar5") (= "=") (cast_expression "(int *)AcquireImage(param_1,param_2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireImage(param_1,param_2)" (identifier "AcquireImage") (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (expression_statement "local_3080 = OpenBlob(param_1,piVar5,2,param_2);" (assignment_expression "local_3080 = OpenBlob(param_1,piVar5,2,param_2)" (identifier "local_3080") (= "=") (call_expression "OpenBlob(param_1,piVar5,2,param_2)" (identifier "OpenBlob") (argument_list "(param_1,piVar5,2,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "piVar5") (, ",") (number_literal "2") (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (local_3080 == 0) {\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }\n  else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }" (if "if") (parenthesized_expression "(local_3080 == 0)" (( "(") (binary_expression "local_3080 == 0" (identifier "local_3080") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    DestroyImageList(piVar5);\n    uVar19 = 0;\n  }" ({ "{") (expression_statement "DestroyImageList(piVar5);" (call_expression "DestroyImageList(piVar5)" (identifier "DestroyImageList") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }" (else "else") (compound_statement "{\n    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);\n    AppendImageFormat("cache",local_3020);\n    iVar6 = ReadBlobByte(piVar5);\n    if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }\n  }" ({ "{") (expression_statement "CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);" (call_expression "CopyMagickString(local_3020,piVar5 + 0xc6,0xffa)" (identifier "CopyMagickString") (argument_list "(local_3020,piVar5 + 0xc6,0xffa)" (( "(") (identifier "local_3020") (, ",") (binary_expression "piVar5 + 0xc6" (identifier "piVar5") (+ "+") (number_literal "0xc6")) (, ",") (number_literal "0xffa") () ")"))) (; ";")) (expression_statement "AppendImageFormat("cache",local_3020);" (call_expression "AppendImageFormat("cache",local_3020)" (identifier "AppendImageFormat") (argument_list "("cache",local_3020)" (( "(") (string_literal ""cache"" (" """) (string_content "cache") (" """)) (, ",") (identifier "local_3020") () ")"))) (; ";")) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar6 == -1) {\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }\n    else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      DestroyImage(piVar5);\n      uVar19 = 0;\n    }" ({ "{") (expression_statement "DestroyImage(piVar5);" (call_expression "DestroyImage(piVar5)" (identifier "DestroyImage") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }" (else "else") (compound_statement "{\n      local_2020[0] = 0;\n      puVar24 = (undefined4 *)local_1020;\n      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }\n      local_3054 = 0;\n      local_3050 = 0;\n      ppuVar7 = __ctype_b_loc();\n      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;\n      do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);\n      CloseBlob(piVar5);\nLAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);\n    }" ({ "{") (expression_statement "local_2020[0] = 0;" (assignment_expression "local_2020[0] = 0" (subscript_expression "local_2020[0]" (identifier "local_2020") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24 = (undefined4 *)local_1020;" (assignment_expression "puVar24 = (undefined4 *)local_1020" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)local_1020" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_1020"))) (; ";")) (for_statement "for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }" (for "for") (( "(") (assignment_expression "iVar20 = 0x400" (identifier "iVar20") (= "=") (number_literal "0x400")) (; ";") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar20 = iVar20 + -1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + -1" (identifier "iVar20") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n        *puVar24 = 0;\n        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;\n      }" ({ "{") (expression_statement "*puVar24 = 0;" (assignment_expression "*puVar24 = 0" (pointer_expression "*puVar24" (* "*") (identifier "puVar24")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar24 = puVar24 + (uint)bVar26 * -2 + 1;" (assignment_expression "puVar24 = puVar24 + (uint)bVar26 * -2 + 1" (identifier "puVar24") (= "=") (binary_expression "puVar24 + (uint)bVar26 * -2 + 1" (binary_expression "puVar24 + (uint)bVar26 * -2" (identifier "puVar24") (+ "+") (binary_expression "(uint)bVar26 * -2" (cast_expression "(uint)bVar26" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar26")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "local_3054 = 0;" (assignment_expression "local_3054 = 0" (identifier "local_3054") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_3050 = 0;" (assignment_expression "local_3050 = 0" (identifier "local_3050") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppuVar7 = __ctype_b_loc();" (assignment_expression "ppuVar7 = __ctype_b_loc()" (identifier "ppuVar7") (= "=") (call_expression "__ctype_b_loc()" (identifier "__ctype_b_loc") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar4 = PTR_RelinquishMagickMemory_0041dfd8;" (assignment_expression "puVar4 = PTR_RelinquishMagickMemory_0041dfd8" (identifier "puVar4") (= "=") (identifier "PTR_RelinquishMagickMemory_0041dfd8")) (; ";")) (do_statement "do {\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      } while (local_3080 != 0);" (do "do") (compound_statement "{\n        SetGeometryInfo(&local_304c);\n        local_30a4 = (char *)AcquireString(0);\n        local_3078 = GetMagickSignature(0);\n        piVar5[8] = 8;\n        puVar8 = *ppuVar7;\n        piVar5[2] = 0x10;\n        uVar1 = puVar8[iVar6];\n        local_3084 = 0;\nLAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }\nLAB_0025aca4:\n        DestroyString(local_30a4);\n        ReadBlobByte(piVar5);\n        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");\n        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }\n        uVar9 = GetMagickSignature(0);\n        if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }\n        if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }\n        if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }\n        iVar6 = GetImageQuantumDepth(piVar5,0);\n        if (*piVar5 != 2) goto LAB_0025ad8a;\n        uVar22 = (uint)(iVar6 * 3) >> 3;\n        iVar20 = piVar5[9];\n        uVar28 = GetBlobSize(piVar5);\n        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }\n        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);\n        piVar5[10] = iVar20;\n        if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }\n        if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }\nLAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }\n        iVar6 = AcquireMagickResource(10,piVar5[6],0);\n        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }\n        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);\n        if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }\n        iVar6 = EOFBlob(piVar5);\n        if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }\n        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }\n        if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }\n        AcquireNextImage(param_1,piVar5,param_2);\n        iVar20 = GetNextImageInList(piVar5);\n        if (iVar20 == 0) break;\n        piVar5 = (int *)SyncNextImageInList(piVar5);\n        uVar28 = GetBlobSize(piVar5);\n        uVar29 = TellBlob(piVar5);\n        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);\n      }" ({ "{") (expression_statement "SetGeometryInfo(&local_304c);" (call_expression "SetGeometryInfo(&local_304c)" (identifier "SetGeometryInfo") (argument_list "(&local_304c)" (( "(") (pointer_expression "&local_304c" (& "&") (identifier "local_304c")) () ")"))) (; ";")) (expression_statement "local_30a4 = (char *)AcquireString(0);" (assignment_expression "local_30a4 = (char *)AcquireString(0)" (identifier "local_30a4") (= "=") (cast_expression "(char *)AcquireString(0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireString(0)" (identifier "AcquireString") (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (expression_statement "local_3078 = GetMagickSignature(0);" (assignment_expression "local_3078 = GetMagickSignature(0)" (identifier "local_3078") (= "=") (call_expression "GetMagickSignature(0)" (identifier "GetMagickSignature") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar5[8] = 8;" (assignment_expression "piVar5[8] = 8" (subscript_expression "piVar5[8]" (identifier "piVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "8")) (; ";")) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" (identifier "puVar8") (= "=") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (expression_statement "piVar5[2] = 0x10;" (assignment_expression "piVar5[2] = 0x10" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0x10")) (; ";")) (expression_statement "uVar1 = puVar8[iVar6];" (assignment_expression "uVar1 = puVar8[iVar6]" (identifier "uVar1") (= "=") (subscript_expression "puVar8[iVar6]" (identifier "puVar8") ([ "[") (identifier "iVar6") (] "]"))) (; ";")) (expression_statement "local_3084 = 0;" (assignment_expression "local_3084 = 0" (identifier "local_3084") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0025ab3f:\n        if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" (statement_identifier "LAB_0025ab3f") (: ":") (if_statement "if (iVar6 != 0x3a) {\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" (if "if") (parenthesized_expression "(iVar6 != 0x3a)" (( "(") (binary_expression "iVar6 != 0x3a" (identifier "iVar6") (!= "!=") (number_literal "0x3a")) () ")")) (compound_statement "{\nLAB_0025ab48:\n          pcVar31 = local_30a4;\n          if (-1 < (short)uVar1) goto LAB_0025aca4;\n          if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }\n          if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }\n          goto LAB_0025ac68;\n        }" ({ "{") (labeled_statement "LAB_0025ab48:\n          pcVar31 = local_30a4;" (statement_identifier "LAB_0025ab48") (: ":") (expression_statement "pcVar31 = local_30a4;" (assignment_expression "pcVar31 = local_30a4" (identifier "pcVar31") (= "=") (identifier "local_30a4")) (; ";"))) (if_statement "if (-1 < (short)uVar1) goto LAB_0025aca4;" (if "if") (parenthesized_expression "(-1 < (short)uVar1)" (( "(") (binary_expression "-1 < (short)uVar1" (number_literal "-1") (< "<") (cast_expression "(short)uVar1" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar1"))) () ")")) (goto_statement "goto LAB_0025aca4;" (goto "goto") (statement_identifier "LAB_0025aca4") (; ";"))) (if_statement "if (iVar6 == 0x7b) {\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }" (if "if") (parenthesized_expression "(iVar6 == 0x7b)" (( "(") (binary_expression "iVar6 == 0x7b" (identifier "iVar6") (== "==") (number_literal "0x7b")) () ")")) (compound_statement "{\n            pcVar31 = (char *)AcquireString(0);\n            if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }\n            DestroyString(local_30a4);\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x10e;\n            goto LAB_0025b781;\n          }" ({ "{") (expression_statement "pcVar31 = (char *)AcquireString(0);" (assignment_expression "pcVar31 = (char *)AcquireString(0)" (identifier "pcVar31") (= "=") (cast_expression "(char *)AcquireString(0)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireString(0)" (identifier "AcquireString") (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (pcVar31 != (char *)0x0) {\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }" (if "if") (parenthesized_expression "(pcVar31 != (char *)0x0)" (( "(") (binary_expression "pcVar31 != (char *)0x0" (identifier "pcVar31") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_30ac = (char *)0x1000;\n              pcVar10 = pcVar31;\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );\n            }" ({ "{") (expression_statement "local_30ac = (char *)0x1000;" (assignment_expression "local_30ac = (char *)0x1000" (identifier "local_30ac") (= "=") (cast_expression "(char *)0x1000" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1000"))) (; ";")) (expression_statement "pcVar10 = pcVar31;" (assignment_expression "pcVar10 = pcVar31" (identifier "pcVar10") (= "=") (identifier "pcVar31")) (; ";")) (do_statement "do {\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              } while( true );" (do "do") (compound_statement "{\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;\n                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }\n              }" ({ "{") (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar6 == 0x5c) {\n                  iVar6 = ReadBlobByte(piVar5);\n                }\n                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;" (if "if") (parenthesized_expression "(iVar6 == 0x5c)" (( "(") (binary_expression "iVar6 == 0x5c" (identifier "iVar6") (== "==") (number_literal "0x5c")) () ")")) (compound_statement "{\n                  iVar6 = ReadBlobByte(piVar5);\n                }" ({ "{") (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (} "}")) (else_clause "else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;" (else "else") (if_statement "if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;" (if "if") (parenthesized_expression "((iVar6 == -1) || (iVar6 == 0x7d))" (( "(") (binary_expression "(iVar6 == -1) || (iVar6 == 0x7d)" (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (|| "||") (parenthesized_expression "(iVar6 == 0x7d)" (( "(") (binary_expression "iVar6 == 0x7d" (identifier "iVar6") (== "==") (number_literal "0x7d")) () ")"))) () ")")) (goto_statement "goto LAB_0025b6e0;" (goto "goto") (statement_identifier "LAB_0025b6e0") (; ";"))))) (if_statement "if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }\n                else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }" (if "if") (parenthesized_expression "(pcVar31 + (1 - (int)pcVar10) < local_30ac)" (( "(") (binary_expression "pcVar31 + (1 - (int)pcVar10) < local_30ac" (binary_expression "pcVar31 + (1 - (int)pcVar10)" (identifier "pcVar31") (+ "+") (parenthesized_expression "(1 - (int)pcVar10)" (( "(") (binary_expression "1 - (int)pcVar10" (number_literal "1") (- "-") (cast_expression "(int)pcVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar10"))) () ")"))) (< "<") (identifier "local_30ac")) () ")")) (compound_statement "{\n                  *pcVar31 = (char)iVar6;\n                  pcVar31 = pcVar31 + 1;\n                }" ({ "{") (expression_statement "*pcVar31 = (char)iVar6;" (assignment_expression "*pcVar31 = (char)iVar6" (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) (= "=") (cast_expression "(char)iVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar6"))) (; ";")) (expression_statement "pcVar31 = pcVar31 + 1;" (assignment_expression "pcVar31 = pcVar31 + 1" (identifier "pcVar31") (= "=") (binary_expression "pcVar31 + 1" (identifier "pcVar31") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }" (else "else") (compound_statement "{\n                  local_30ac = (char *)((int)local_30ac * 2);\n                  *pcVar31 = '\0';\n                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);\n                  if (pcVar10 == (char *)0x0) break;\n                  sVar11 = strlen(pcVar10);\n                  pcVar31 = pcVar10 + sVar11 + 1;\n                  pcVar10[sVar11] = (char)iVar6;\n                }" ({ "{") (expression_statement "local_30ac = (char *)((int)local_30ac * 2);" (assignment_expression "local_30ac = (char *)((int)local_30ac * 2)" (identifier "local_30ac") (= "=") (cast_expression "(char *)((int)local_30ac * 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_30ac * 2)" (( "(") (binary_expression "(int)local_30ac * 2" (cast_expression "(int)local_30ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30ac")) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*pcVar31 = '\0';" (assignment_expression "*pcVar31 = '\0'" (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);" (assignment_expression "pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1)" (identifier "pcVar10") (= "=") (cast_expression "(char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1)" (identifier "ResizeQuantumMemory") (argument_list "(pcVar10,local_30ac + 0x1000,1)" (( "(") (identifier "pcVar10") (, ",") (binary_expression "local_30ac + 0x1000" (identifier "local_30ac") (+ "+") (number_literal "0x1000")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (pcVar10 == (char *)0x0) break;" (if "if") (parenthesized_expression "(pcVar10 == (char *)0x0)" (( "(") (binary_expression "pcVar10 == (char *)0x0" (identifier "pcVar10") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "sVar11 = strlen(pcVar10);" (assignment_expression "sVar11 = strlen(pcVar10)" (identifier "sVar11") (= "=") (call_expression "strlen(pcVar10)" (identifier "strlen") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")")))) (; ";")) (expression_statement "pcVar31 = pcVar10 + sVar11 + 1;" (assignment_expression "pcVar31 = pcVar10 + sVar11 + 1" (identifier "pcVar31") (= "=") (binary_expression "pcVar10 + sVar11 + 1" (binary_expression "pcVar10 + sVar11" (identifier "pcVar10") (+ "+") (identifier "sVar11")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar10[sVar11] = (char)iVar6;" (assignment_expression "pcVar10[sVar11] = (char)iVar6" (subscript_expression "pcVar10[sVar11]" (identifier "pcVar10") ([ "[") (identifier "sVar11") (] "]")) (= "=") (cast_expression "(char)iVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar6"))) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" (identifier "DestroyString") (argument_list "(local_30a4)" (( "(") (identifier "local_30a4") () ")"))) (; ";")) (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" (identifier "pcVar31") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" (identifier "uVar30") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar19 = 0x10e;" (assignment_expression "uVar19 = 0x10e" (identifier "uVar19") (= "=") (number_literal "0x10e")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (if_statement "if ((uVar1 & 8) == 0) {\n            iVar6 = ReadBlobByte(piVar5);\n          }\n          else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }" (if "if") (parenthesized_expression "((uVar1 & 8) == 0)" (( "(") (binary_expression "(uVar1 & 8) == 0" (parenthesized_expression "(uVar1 & 8)" (( "(") (binary_expression "uVar1 & 8" (identifier "uVar1") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar6 = ReadBlobByte(piVar5);\n          }" ({ "{") (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }" (else "else") (compound_statement "{\n            puVar24 = (undefined4 *)local_1020;\n            if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }\nLAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;\n            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }\n            local_30ac = local_30a4;\n            if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }\n            local_30a4 = pcVar31;\n            *local_30ac = '\0';\n            if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }\n            switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }\n          }" ({ "{") (expression_statement "puVar24 = (undefined4 *)local_1020;" (assignment_expression "puVar24 = (undefined4 *)local_1020" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)local_1020" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_1020"))) (; ";")) (if_statement "if (iVar6 == 0x3d) {\n              iVar20 = 0x7a;\n            }\n            else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }" (if "if") (parenthesized_expression "(iVar6 == 0x3d)" (( "(") (binary_expression "iVar6 == 0x3d" (identifier "iVar6") (== "==") (number_literal "0x3d")) () ")")) (compound_statement "{\n              iVar20 = 0x7a;\n            }" ({ "{") (expression_statement "iVar20 = 0x7a;" (assignment_expression "iVar20 = 0x7a" (identifier "iVar20") (= "=") (number_literal "0x7a")) (; ";")) (} "}")) (else_clause "else {\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }" (else "else") (compound_statement "{\n              do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);\n              iVar20 = 0x7a;\n              puVar8 = *ppuVar7;\n            }" ({ "{") (do_statement "do {\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              } while (iVar6 != 0x3d);" (do "do") (compound_statement "{\n                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }\n                iVar6 = ReadBlobByte(piVar5);\n                if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }\n              }" ({ "{") (if_statement "if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }" (if "if") (parenthesized_expression "((uint)((int)puVar24 - (int)local_1020) < 0xfff)" (( "(") (binary_expression "(uint)((int)puVar24 - (int)local_1020) < 0xfff" (call_expression "(uint)((int)puVar24 - (int)local_1020)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)puVar24 - (int)local_1020)" (( "(") (binary_expression "(int)puVar24 - (int)local_1020" (cast_expression "(int)puVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar24")) (- "-") (cast_expression "(int)local_1020" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_1020"))) () ")"))) (< "<") (number_literal "0xfff")) () ")")) (compound_statement "{\n                  *(char *)puVar24 = (char)iVar6;\n                  puVar24 = (undefined4 *)((int)puVar24 + 1);\n                }" ({ "{") (expression_statement "*(char *)puVar24 = (char)iVar6;" (assignment_expression "*(char *)puVar24 = (char)iVar6" (pointer_expression "*(char *)puVar24" (* "*") (cast_expression "(char *)puVar24" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar24"))) (= "=") (cast_expression "(char)iVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar6"))) (; ";")) (expression_statement "puVar24 = (undefined4 *)((int)puVar24 + 1);" (assignment_expression "puVar24 = (undefined4 *)((int)puVar24 + 1)" (identifier "puVar24") (= "=") (cast_expression "(undefined4 *)((int)puVar24 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar24 + 1)" (( "(") (binary_expression "(int)puVar24 + 1" (cast_expression "(int)puVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar24")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar6 == -1) {\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                  iVar20 = -2;\n                  puVar8 = *ppuVar7;\n                  goto LAB_0025abb9;\n                }" ({ "{") (expression_statement "iVar20 = -2;" (assignment_expression "iVar20 = -2" (identifier "iVar20") (= "=") (number_literal "-2")) (; ";")) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" (identifier "puVar8") (= "=") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (goto_statement "goto LAB_0025abb9;" (goto "goto") (statement_identifier "LAB_0025abb9") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(iVar6 != 0x3d)" (( "(") (binary_expression "iVar6 != 0x3d" (identifier "iVar6") (!= "!=") (number_literal "0x3d")) () ")")) (; ";")) (expression_statement "iVar20 = 0x7a;" (assignment_expression "iVar20 = 0x7a" (identifier "iVar20") (= "=") (number_literal "0x7a")) (; ";")) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" (identifier "puVar8") (= "=") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (} "}")))) (labeled_statement "LAB_0025abb9:\n            *(undefined1 *)puVar24 = 0;" (statement_identifier "LAB_0025abb9") (: ":") (expression_statement "*(undefined1 *)puVar24 = 0;" (assignment_expression "*(undefined1 *)puVar24 = 0" (pointer_expression "*(undefined1 *)puVar24" (* "*") (cast_expression "(undefined1 *)puVar24" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar24"))) (= "=") (number_literal "0")) (; ";"))) (if_statement "if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }" (if "if") (parenthesized_expression "((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0)" (( "(") (binary_expression "(*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0" (parenthesized_expression "(*(ushort *)((int)puVar8 + iVar20) & 0x2000)" (( "(") (binary_expression "*(ushort *)((int)puVar8 + iVar20) & 0x2000" (pointer_expression "*(ushort *)((int)puVar8 + iVar20)" (* "*") (cast_expression "(ushort *)((int)puVar8 + iVar20)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar8 + iVar20)" (( "(") (binary_expression "(int)puVar8 + iVar20" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (+ "+") (identifier "iVar20")) () ")")))) (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);\n            }" ({ "{") (do_statement "do {\n                iVar6 = ReadBlobByte(piVar5);\n              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);" (do "do") (compound_statement "{\n                iVar6 = ReadBlobByte(piVar5);\n              }" ({ "{") (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0" (parenthesized_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20)" (( "(") (binary_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*ppuVar7 + iVar6 * 2 + 1)" (( "(") (binary_expression "(int)*ppuVar7 + iVar6 * 2 + 1" (binary_expression "(int)*ppuVar7 + iVar6 * 2" (cast_expression "(int)*ppuVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (+ "+") (binary_expression "iVar6 * 2" (identifier "iVar6") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (expression_statement "local_30ac = local_30a4;" (assignment_expression "local_30ac = local_30a4" (identifier "local_30ac") (= "=") (identifier "local_30a4")) (; ";")) (if_statement "if (iVar6 == 0x3d) {\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }" (if "if") (parenthesized_expression "(iVar6 == 0x3d)" (( "(") (binary_expression "iVar6 == 0x3d" (identifier "iVar6") (== "==") (number_literal "0x3d")) () ")")) (compound_statement "{\n              iVar6 = ReadBlobByte(piVar5);\n              local_30a4 = (char *)0xfff;\n              local_30ac = pcVar31;\n              do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );\n            }" ({ "{") (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "local_30a4 = (char *)0xfff;" (assignment_expression "local_30a4 = (char *)0xfff" (identifier "local_30a4") (= "=") (cast_expression "(char *)0xfff" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfff"))) (; ";")) (expression_statement "local_30ac = pcVar31;" (assignment_expression "local_30ac = pcVar31" (identifier "local_30ac") (= "=") (identifier "pcVar31")) (; ";")) (do_statement "do {\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      );" (do "do") (compound_statement "{\n                if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }\n                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }\n                *local_30ac = (char)iVar6;\n                iVar6 = ReadBlobByte(piVar5);\n                pcVar10 = local_30ac + 1;\n                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }\n                local_30ac = pcVar10;\n              }" ({ "{") (if_statement "if ((iVar6 == 0x7d) || (iVar6 == -1)) {\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }" (if "if") (parenthesized_expression "((iVar6 == 0x7d) || (iVar6 == -1))" (( "(") (binary_expression "(iVar6 == 0x7d) || (iVar6 == -1)" (parenthesized_expression "(iVar6 == 0x7d)" (( "(") (binary_expression "iVar6 == 0x7d" (identifier "iVar6") (== "==") (number_literal "0x7d")) () ")")) (|| "||") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n                  if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }\n                  break;\n                }" ({ "{") (if_statement "if (pcVar31 == (char *)0x0) {\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }" (if "if") (parenthesized_expression "(pcVar31 == (char *)0x0)" (( "(") (binary_expression "pcVar31 == (char *)0x0" (identifier "pcVar31") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";\n                    uVar30 = 400;\n                    uVar19 = 0x14c;\n                    goto LAB_0025b781;\n                  }" ({ "{") (labeled_statement "LAB_0025b8e1:\n                    pcVar31 = "MemoryAllocationFailed";" (statement_identifier "LAB_0025b8e1") (: ":") (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" (identifier "pcVar31") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";"))) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" (identifier "uVar30") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar19 = 0x14c;" (assignment_expression "uVar19 = 0x14c" (identifier "uVar19") (= "=") (number_literal "0x14c")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }" (if "if") (parenthesized_expression "(local_30a4 <= local_30ac + (1 - (int)pcVar31))" (( "(") (binary_expression "local_30a4 <= local_30ac + (1 - (int)pcVar31)" (identifier "local_30a4") (<= "<=") (binary_expression "local_30ac + (1 - (int)pcVar31)" (identifier "local_30ac") (+ "+") (parenthesized_expression "(1 - (int)pcVar31)" (( "(") (binary_expression "1 - (int)pcVar31" (number_literal "1") (- "-") (cast_expression "(int)pcVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar31"))) () ")")))) () ")")) (compound_statement "{\n                  local_30a4 = (char *)((int)local_30a4 * 2);\n                  *local_30ac = '\0';\n                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);\n                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;\n                  sVar11 = strlen(pcVar31);\n                  local_30ac = pcVar31 + sVar11;\n                }" ({ "{") (expression_statement "local_30a4 = (char *)((int)local_30a4 * 2);" (assignment_expression "local_30a4 = (char *)((int)local_30a4 * 2)" (identifier "local_30a4") (= "=") (cast_expression "(char *)((int)local_30a4 * 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_30a4 * 2)" (( "(") (binary_expression "(int)local_30a4 * 2" (cast_expression "(int)local_30a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30a4")) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*local_30ac = '\0';" (assignment_expression "*local_30ac = '\0'" (pointer_expression "*local_30ac" (* "*") (identifier "local_30ac")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);" (assignment_expression "pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1)" (identifier "pcVar31") (= "=") (cast_expression "(char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1)" (identifier "ResizeQuantumMemory") (argument_list "(pcVar31,local_30a4 + 0x1000,1)" (( "(") (identifier "pcVar31") (, ",") (binary_expression "local_30a4 + 0x1000" (identifier "local_30a4") (+ "+") (number_literal "0x1000")) (, ",") (number_literal "1") () ")"))))) (; ";")) (if_statement "if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;" (if "if") (parenthesized_expression "(pcVar31 == (char *)0x0)" (( "(") (binary_expression "pcVar31 == (char *)0x0" (identifier "pcVar31") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0025b8e1;" (goto "goto") (statement_identifier "LAB_0025b8e1") (; ";"))) (expression_statement "sVar11 = strlen(pcVar31);" (assignment_expression "sVar11 = strlen(pcVar31)" (identifier "sVar11") (= "=") (call_expression "strlen(pcVar31)" (identifier "strlen") (argument_list "(pcVar31)" (( "(") (identifier "pcVar31") () ")")))) (; ";")) (expression_statement "local_30ac = pcVar31 + sVar11;" (assignment_expression "local_30ac = pcVar31 + sVar11" (identifier "local_30ac") (= "=") (binary_expression "pcVar31 + sVar11" (identifier "pcVar31") (+ "+") (identifier "sVar11"))) (; ";")) (} "}"))) (expression_statement "*local_30ac = (char)iVar6;" (assignment_expression "*local_30ac = (char)iVar6" (pointer_expression "*local_30ac" (* "*") (identifier "local_30ac")) (= "=") (cast_expression "(char)iVar6" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar6"))) (; ";")) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "pcVar10 = local_30ac + 1;" (assignment_expression "pcVar10 = local_30ac + 1" (identifier "pcVar10") (= "=") (binary_expression "local_30ac + 1" (identifier "local_30ac") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }" (if "if") (parenthesized_expression "((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d))" (( "(") (binary_expression "(iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)" (parenthesized_expression "(iVar6 == 0x5c)" (( "(") (binary_expression "iVar6 == 0x5c" (identifier "iVar6") (== "==") (number_literal "0x5c")) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)" (( "(") (comma_expression "iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (, ",") (binary_expression "iVar6 == 0x7d" (identifier "iVar6") (== "==") (number_literal "0x7d"))) () ")"))) () ")")) (compound_statement "{\n                  local_30ac[1] = '}';\n                  iVar6 = ReadBlobByte(piVar5);\n                  pcVar10 = local_30ac + 2;\n                }" ({ "{") (expression_statement "local_30ac[1] = '}';" (assignment_expression "local_30ac[1] = '}'" (subscript_expression "local_30ac[1]" (identifier "local_30ac") ([ "[") (number_literal "1") (] "]")) (= "=") (char_literal "'}'" (' "'") (character "}") (' "'"))) (; ";")) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "pcVar10 = local_30ac + 2;" (assignment_expression "pcVar10 = local_30ac + 2" (identifier "pcVar10") (= "=") (binary_expression "local_30ac + 2" (identifier "local_30ac") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "local_30ac = pcVar10;" (assignment_expression "local_30ac = pcVar10" (identifier "local_30ac") (= "=") (identifier "pcVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)\n                      )" (( "(") (binary_expression "(*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)" (parenthesized_expression "(*pcVar31 == '{')" (( "(") (binary_expression "*pcVar31 == '{'" (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) (== "==") (char_literal "'{'" (' "'") (character "{") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0" (parenthesized_expression "(*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20)" (( "(") (binary_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20" (pointer_expression "*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" (* "*") (cast_expression "(byte *)((int)*ppuVar7 + iVar6 * 2 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)*ppuVar7 + iVar6 * 2 + 1)" (( "(") (binary_expression "(int)*ppuVar7 + iVar6 * 2 + 1" (binary_expression "(int)*ppuVar7 + iVar6 * 2" (cast_expression "(int)*ppuVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (+ "+") (binary_expression "iVar6 * 2" (identifier "iVar6") (* "*") (number_literal "2"))) (+ "+") (number_literal "1")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_30a4 = pcVar31;" (assignment_expression "local_30a4 = pcVar31" (identifier "local_30a4") (= "=") (identifier "pcVar31")) (; ";")) (expression_statement "*local_30ac = '\0';" (assignment_expression "*local_30ac = '\0'" (pointer_expression "*local_30ac" (* "*") (identifier "local_30ac")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (*local_30a4 == '{') {\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }" (if "if") (parenthesized_expression "(*local_30a4 == '{')" (( "(") (binary_expression "*local_30a4 == '{'" (pointer_expression "*local_30a4" (* "*") (identifier "local_30a4")) (== "==") (char_literal "'{'" (' "'") (character "{") (' "'"))) () ")")) (compound_statement "{\n              sVar11 = strlen(local_30a4);\n              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);\n            }" ({ "{") (expression_statement "sVar11 = strlen(local_30a4);" (assignment_expression "sVar11 = strlen(local_30a4)" (identifier "sVar11") (= "=") (call_expression "strlen(local_30a4)" (identifier "strlen") (argument_list "(local_30a4)" (( "(") (identifier "local_30a4") () ")")))) (; ";")) (expression_statement "CopyMagickString(local_30a4,local_30a4 + 1,sVar11);" (call_expression "CopyMagickString(local_30a4,local_30a4 + 1,sVar11)" (identifier "CopyMagickString") (argument_list "(local_30a4,local_30a4 + 1,sVar11)" (( "(") (identifier "local_30a4") (, ",") (binary_expression "local_30a4 + 1" (identifier "local_30a4") (+ "+") (number_literal "1")) (, ",") (identifier "sVar11") () ")"))) (; ";")) (} "}"))) (switch_statement "switch(local_1020[0]) {\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }" (switch "switch") (parenthesized_expression "(local_1020[0])" (( "(") (subscript_expression "local_1020[0]" (identifier "local_1020") ([ "[") (number_literal "0") (] "]")) () ")")) (compound_statement "{\n            case 0x41:\n            case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;\n            case 0x42:\n            case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;\n            case 0x43:\n            case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;\n            case 0x44:\n            case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;\n            case 0x45:\n            case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;\n            default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;\n            case 0x47:\n            case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;\n            case 0x49:\n            case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;\n            case 0x4d:\n            case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;\n            case 0x4e:\n            case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;\n            case 0x4f:\n            case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;\n            case 0x50:\n            case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;\n            case 0x51:\n            case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;\n            case 0x52:\n            case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;\n            case 0x53:\n            case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;\n            case 0x54:\n            case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;\n            case 0x55:\n            case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;\n            case 0x57:\n            case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }\n            }" ({ "{") (case_statement "case 0x41:" (case "case") (number_literal "0x41") (: ":")) (case_statement "case 0x61:\n              iVar20 = LocaleCompare(local_1020,"alpha-trait");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x3a,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }\n              break;" (case "case") (number_literal "0x61") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"alpha-trait");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"alpha-trait")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"alpha-trait")" (identifier "LocaleCompare") (argument_list "(local_1020,"alpha-trait")" (( "(") (identifier "local_1020") (, ",") (string_literal ""alpha-trait"" (" """) (string_content "alpha-trait") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "iVar20 = ParseCommandOption(0x3a,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x3a,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(0x3a,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(0x3a,0,local_30a4)" (( "(") (number_literal "0x3a") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                piVar5[0xa5] = iVar20;\n              }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                piVar5[0xa5] = iVar20;\n              }" ({ "{") (expression_statement "piVar5[0xa5] = iVar20;" (assignment_expression "piVar5[0xa5] = iVar20" (subscript_expression "piVar5[0xa5]" (identifier "piVar5") ([ "[") (number_literal "0xa5") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x42:" (case "case") (number_literal "0x42") (: ":")) (case_statement "case 0x62:\n              iVar20 = LocaleCompare(local_1020,"background-color");\n              if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }\ncode_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);\n              break;" (case "case") (number_literal "0x62") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"background-color");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"background-color")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"background-color")" (identifier "LocaleCompare") (argument_list "(local_1020,"background-color")" (( "(") (identifier "local_1020") (, ",") (string_literal ""background-color"" (" """) (string_content "background-color") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                piVar18 = piVar5 + 0x1f;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                piVar18 = piVar5 + 0x1f;\n              }" ({ "{") (expression_statement "piVar18 = piVar5 + 0x1f;" (assignment_expression "piVar18 = piVar5 + 0x1f" (identifier "piVar18") (= "=") (binary_expression "piVar5 + 0x1f" (identifier "piVar5") (+ "+") (number_literal "0x1f"))) (; ";")) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"blue-primary");\n                if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }\n                iVar20 = LocaleCompare(local_1020,"border-color");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                piVar18 = piVar5 + 0x33;\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"blue-primary");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"blue-primary")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"blue-primary")" (identifier "LocaleCompare") (argument_list "(local_1020,"blue-primary")" (( "(") (identifier "local_1020") (, ",") (string_literal ""blue-primary"" (" """) (string_content "blue-primary") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar22 = ParseGeometry(local_30a4,&local_304c);\n                  *(undefined8 *)(piVar5 + 0x69) = local_304c;\n                  if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }\n                  break;\n                }" ({ "{") (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" (identifier "uVar22") (= "=") (call_expression "ParseGeometry(local_30a4,&local_304c)" (identifier "ParseGeometry") (argument_list "(local_30a4,&local_304c)" (( "(") (identifier "local_30a4") (, ",") (pointer_expression "&local_304c" (& "&") (identifier "local_304c")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(piVar5 + 0x69) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x69) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x69)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x69)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x69)" (( "(") (binary_expression "piVar5 + 0x69" (identifier "piVar5") (+ "+") (number_literal "0x69")) () ")")))) (= "=") (identifier "local_304c")) (; ";")) (if_statement "if ((uVar22 & 8) == 0) {\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }\n                  else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }" (if "if") (parenthesized_expression "((uVar22 & 8) == 0)" (( "(") (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" (( "(") (binary_expression "uVar22 & 8" (identifier "uVar22") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;\n                  }" ({ "{") (expression_statement "*(undefined8 *)(piVar5 + 0x6b) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x6b) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x6b)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x6b)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x6b)" (( "(") (binary_expression "piVar5 + 0x6b" (identifier "piVar5") (+ "+") (number_literal "0x6b")) () ")")))) (= "=") (identifier "local_304c")) (; ";")) (} "}")) (else_clause "else {\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }" (else "else") (compound_statement "{\n                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;\n                  }" ({ "{") (expression_statement "*(undefined8 *)(piVar5 + 0x6b) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x6b) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x6b)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x6b)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x6b)" (( "(") (binary_expression "piVar5 + 0x6b" (identifier "piVar5") (+ "+") (number_literal "0x6b")) () ")")))) (= "=") (identifier "uStack_3044")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "iVar20 = LocaleCompare(local_1020,"border-color");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"border-color")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"border-color")" (identifier "LocaleCompare") (argument_list "(local_1020,"border-color")" (( "(") (identifier "local_1020") (, ",") (string_literal ""border-color"" (" """) (string_content "border-color") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "piVar18 = piVar5 + 0x33;" (assignment_expression "piVar18 = piVar5 + 0x33" (identifier "piVar18") (= "=") (binary_expression "piVar5 + 0x33" (identifier "piVar5") (+ "+") (number_literal "0x33"))) (; ";")) (} "}")))) (labeled_statement "code_r0x0025b456:\n              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);" (statement_identifier "code_r0x0025b456") (: ":") (expression_statement "QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);" (call_expression "QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2)" (identifier "QueryColorCompliance") (argument_list "(local_30a4,0x7fffffff,piVar18,param_2)" (( "(") (identifier "local_30a4") (, ",") (number_literal "0x7fffffff") (, ",") (identifier "piVar18") (, ",") (identifier "param_2") () ")"))) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x43:" (case "case") (number_literal "0x43") (: ":")) (case_statement "case 99:\n              iVar20 = LocaleCompare(local_1020,"class");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }\n              break;" (case "case") (number_literal "99") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"class");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"class")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"class")" (identifier "LocaleCompare") (argument_list "(local_1020,"class")" (( "(") (identifier "local_1020") (, ",") (string_literal ""class"" (" """) (string_content "class") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar20 = ParseCommandOption(5,0,local_30a4);\n                if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }\n              }" ({ "{") (expression_statement "iVar20 = ParseCommandOption(5,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(5,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(5,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(5,0,local_30a4)" (( "(") (number_literal "5") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                  *piVar5 = iVar20;\n                }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                  *piVar5 = iVar20;\n                }" ({ "{") (expression_statement "*piVar5 = iVar20;" (assignment_expression "*piVar5 = iVar20" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"colors");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"colors");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"colors")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"colors")" (identifier "LocaleCompare") (argument_list "(local_1020,"colors")" (( "(") (identifier "local_1020") (, ",") (string_literal ""colors"" (" """) (string_content "colors") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[9] = uVar9;\n                }" ({ "{") (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[9] = uVar9;" (assignment_expression "piVar5[9] = uVar9" (subscript_expression "piVar5[9]" (identifier "piVar5") ([ "[") (number_literal "9") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (} "}")) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"colorspace");\n                  if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }\n                }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"colorspace");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"colorspace")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"colorspace")" (identifier "LocaleCompare") (argument_list "(local_1020,"colorspace")" (( "(") (identifier "local_1020") (, ",") (string_literal ""colorspace"" (" """) (string_content "colorspace") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    iVar20 = ParseCommandOption(9,0,local_30a4);\n                    if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }\n                  }" ({ "{") (expression_statement "iVar20 = ParseCommandOption(9,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(9,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(9,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(9,0,local_30a4)" (( "(") (number_literal "9") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                      piVar5[1] = iVar20;\n                    }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                      piVar5[1] = iVar20;\n                    }" ({ "{") (expression_statement "piVar5[1] = iVar20;" (assignment_expression "piVar5[1] = iVar20" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }" (else "else") (compound_statement "{\n                    iVar20 = LocaleCompare(local_1020,"compression");\n                    if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }\n                  }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"compression");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"compression")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"compression")" (identifier "LocaleCompare") (argument_list "(local_1020,"compression")" (( "(") (identifier "local_1020") (, ",") (string_literal ""compression"" (" """) (string_content "compression") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }\n                    else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      iVar20 = ParseCommandOption(0xe,0,local_30a4);\n                      if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }\n                    }" ({ "{") (expression_statement "iVar20 = ParseCommandOption(0xe,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0xe,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(0xe,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(0xe,0,local_30a4)" (( "(") (number_literal "0xe") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                        piVar5[2] = iVar20;\n                      }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                        piVar5[2] = iVar20;\n                      }" ({ "{") (expression_statement "piVar5[2] = iVar20;" (assignment_expression "piVar5[2] = iVar20" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }" (else "else") (compound_statement "{\n                      iVar20 = LocaleCompare(local_1020,"columns");\n                      if (iVar20 != 0) goto LAB_0025b5d0;\n                      uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                      piVar5[6] = uVar9;\n                    }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"columns");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"columns")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"columns")" (identifier "LocaleCompare") (argument_list "(local_1020,"columns")" (( "(") (identifier "local_1020") (, ",") (string_literal ""columns"" (" """) (string_content "columns") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[6] = uVar9;" (assignment_expression "piVar5[6] = uVar9" (subscript_expression "piVar5[6]" (identifier "piVar5") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (} "}")))) (} "}")))) (} "}")))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x44:" (case "case") (number_literal "0x44") (: ":")) (case_statement "case 100:\n              iVar20 = LocaleCompare(local_1020,"delay");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }\n              break;" (case "case") (number_literal "100") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"delay");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"delay")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"delay")" (identifier "LocaleCompare") (argument_list "(local_1020,"delay")" (( "(") (identifier "local_1020") (, ",") (string_literal ""delay"" (" """) (string_content "delay") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x92] = uVar9;\n              }" ({ "{") (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[0x92] = uVar9;" (assignment_expression "piVar5[0x92] = uVar9" (subscript_expression "piVar5[0x92]" (identifier "piVar5") ([ "[") (number_literal "0x92") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"depth");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"depth");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"depth")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"depth")" (identifier "LocaleCompare") (argument_list "(local_1020,"depth")" (( "(") (identifier "local_1020") (, ",") (string_literal ""depth"" (" """) (string_content "depth") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[8] = uVar9;\n                }" ({ "{") (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[8] = uVar9;" (assignment_expression "piVar5[8] = uVar9" (subscript_expression "piVar5[8]" (identifier "piVar5") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (} "}")) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"dispose");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  iVar20 = ParseCommandOption(0x15,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }\n                }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"dispose");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"dispose")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"dispose")" (identifier "LocaleCompare") (argument_list "(local_1020,"dispose")" (( "(") (identifier "local_1020") (, ",") (string_literal ""dispose"" (" """) (string_content "dispose") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "iVar20 = ParseCommandOption(0x15,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x15,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(0x15,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(0x15,0,local_30a4)" (( "(") (number_literal "0x15") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                    piVar5[0x90] = iVar20;\n                  }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                    piVar5[0x90] = iVar20;\n                  }" ({ "{") (expression_statement "piVar5[0x90] = iVar20;" (assignment_expression "piVar5[0x90] = iVar20" (subscript_expression "piVar5[0x90]" (identifier "piVar5") ([ "[") (number_literal "0x90") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x45:" (case "case") (number_literal "0x45") (: ":")) (case_statement "case 0x65:\n              iVar20 = LocaleCompare(local_1020,"endian");\n              if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }\n              break;" (case "case") (number_literal "0x65") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"endian");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"endian")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"endian")" (identifier "LocaleCompare") (argument_list "(local_1020,"endian")" (( "(") (identifier "local_1020") (, ",") (string_literal ""endian"" (" """) (string_content "endian") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                iVar20 = ParseCommandOption(0x18,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }\n              }" ({ "{") (expression_statement "iVar20 = ParseCommandOption(0x18,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x18,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(0x18,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(0x18,0,local_30a4)" (( "(") (number_literal "0x18") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                  piVar5[0x8d] = iVar20;\n                }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                  piVar5[0x8d] = iVar20;\n                }" ({ "{") (expression_statement "piVar5[0x8d] = iVar20;" (assignment_expression "piVar5[0x8d] = iVar20" (subscript_expression "piVar5[0x8d]" (identifier "piVar5") ([ "[") (number_literal "0x8d") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"error");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0xac) = (double)lVar27;\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"error");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"error")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"error")" (identifier "LocaleCompare") (argument_list "(local_1020,"error")" (( "(") (identifier "local_1020") (, ",") (string_literal ""error"" (" """) (string_content "error") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" (identifier "lVar27") (= "=") (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "InterpretLocaleValue(local_30a4,0)" (identifier "InterpretLocaleValue") (argument_list "(local_30a4,0)" (( "(") (identifier "local_30a4") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "*(double *)(piVar5 + 0xac) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0xac) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0xac)" (* "*") (cast_expression "(double *)(piVar5 + 0xac)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0xac)" (( "(") (binary_expression "piVar5 + 0xac" (identifier "piVar5") (+ "+") (number_literal "0xac")) () ")")))) (= "=") (cast_expression "(double)lVar27" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar27"))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\nLAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);\n              break;" (default "default") (: ":") (labeled_statement "LAB_0025b5d0:\n              SetImageProperty(piVar5,local_1020,local_30a4,param_2);" (statement_identifier "LAB_0025b5d0") (: ":") (expression_statement "SetImageProperty(piVar5,local_1020,local_30a4,param_2);" (call_expression "SetImageProperty(piVar5,local_1020,local_30a4,param_2)" (identifier "SetImageProperty") (argument_list "(piVar5,local_1020,local_30a4,param_2)" (( "(") (identifier "piVar5") (, ",") (identifier "local_1020") (, ",") (identifier "local_30a4") (, ",") (identifier "param_2") () ")"))) (; ";"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x47:" (case "case") (number_literal "0x47") (: ":")) (case_statement "case 0x67:\n              iVar20 = LocaleCompare(local_1020,"gamma");\n              if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }\n              break;" (case "case") (number_literal "0x67") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"gamma");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"gamma")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"gamma")" (identifier "LocaleCompare") (argument_list "(local_1020,"gamma")" (( "(") (identifier "local_1020") (, ",") (string_literal ""gamma"" (" """) (string_content "gamma") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                *(double *)(piVar5 + 0x5b) = (double)lVar27;\n              }" ({ "{") (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" (identifier "lVar27") (= "=") (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "InterpretLocaleValue(local_30a4,0)" (identifier "InterpretLocaleValue") (argument_list "(local_30a4,0)" (( "(") (identifier "local_30a4") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "*(double *)(piVar5 + 0x5b) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0x5b) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0x5b)" (* "*") (cast_expression "(double *)(piVar5 + 0x5b)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x5b)" (( "(") (binary_expression "piVar5 + 0x5b" (identifier "piVar5") (+ "+") (number_literal "0x5b")) () ")")))) (= "=") (cast_expression "(double)lVar27" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar27"))) (; ";")) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"green-primary");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 99) = local_304c;\n                if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"green-primary");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"green-primary")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"green-primary")" (identifier "LocaleCompare") (argument_list "(local_1020,"green-primary")" (( "(") (identifier "local_1020") (, ",") (string_literal ""green-primary"" (" """) (string_content "green-primary") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" (identifier "uVar22") (= "=") (call_expression "ParseGeometry(local_30a4,&local_304c)" (identifier "ParseGeometry") (argument_list "(local_30a4,&local_304c)" (( "(") (identifier "local_30a4") (, ",") (pointer_expression "&local_304c" (& "&") (identifier "local_304c")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(piVar5 + 99) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 99) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 99)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 99)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 99)" (( "(") (binary_expression "piVar5 + 99" (identifier "piVar5") (+ "+") (number_literal "99")) () ")")))) (= "=") (identifier "local_304c")) (; ";")) (if_statement "if ((uVar22 & 8) == 0) {\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }\n                else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }" (if "if") (parenthesized_expression "((uVar22 & 8) == 0)" (( "(") (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" (( "(") (binary_expression "uVar22 & 8" (identifier "uVar22") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  *(undefined8 *)(piVar5 + 0x65) = local_304c;\n                }" ({ "{") (expression_statement "*(undefined8 *)(piVar5 + 0x65) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x65) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x65)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x65)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x65)" (( "(") (binary_expression "piVar5 + 0x65" (identifier "piVar5") (+ "+") (number_literal "0x65")) () ")")))) (= "=") (identifier "local_304c")) (; ";")) (} "}")) (else_clause "else {\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }" (else "else") (compound_statement "{\n                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;\n                }" ({ "{") (expression_statement "*(undefined8 *)(piVar5 + 0x65) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x65) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x65)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x65)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x65)" (( "(") (binary_expression "piVar5 + 0x65" (identifier "piVar5") (+ "+") (number_literal "0x65")) () ")")))) (= "=") (identifier "uStack_3044")) (; ";")) (} "}")))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x49:" (case "case") (number_literal "0x49") (: ":")) (case_statement "case 0x69:\n              iVar20 = LocaleCompare(local_1020,"id");\n              if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }\n              break;" (case "case") (number_literal "0x69") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"id");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"id")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"id")" (identifier "LocaleCompare") (argument_list "(local_1020,"id")" (( "(") (identifier "local_1020") (, ",") (string_literal ""id"" (" """) (string_content "id") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                CopyMagickString(local_2020,local_30a4,0x1000);\n              }" ({ "{") (expression_statement "CopyMagickString(local_2020,local_30a4,0x1000);" (call_expression "CopyMagickString(local_2020,local_30a4,0x1000)" (identifier "CopyMagickString") (argument_list "(local_2020,local_30a4,0x1000)" (( "(") (identifier "local_2020") (, ",") (identifier "local_30a4") (, ",") (number_literal "0x1000") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"iterations");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0x95] = uVar9;\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"iterations");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"iterations")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"iterations")" (identifier "LocaleCompare") (argument_list "(local_1020,"iterations")" (( "(") (identifier "local_1020") (, ",") (string_literal ""iterations"" (" """) (string_content "iterations") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[0x95] = uVar9;" (assignment_expression "piVar5[0x95] = uVar9" (subscript_expression "piVar5[0x95]" (identifier "piVar5") ([ "[") (number_literal "0x95") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x4d:" (case "case") (number_literal "0x4d") (: ":")) (case_statement "case 0x6d:\n              iVar20 = LocaleCompare(local_1020,"magick-signature");\n              if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }\n              break;" (case "case") (number_literal "0x6d") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"magick-signature");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"magick-signature")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"magick-signature")" (identifier "LocaleCompare") (argument_list "(local_1020,"magick-signature")" (( "(") (identifier "local_1020") (, ",") (string_literal ""magick-signature"" (" """) (string_content "magick-signature") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                local_3078 = strtoul(local_30a4,(char **)0x0,10);\n              }" ({ "{") (expression_statement "local_3078 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "local_3078 = strtoul(local_30a4,(char **)0x0,10)" (identifier "local_3078") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"mattecolor");\n                if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }\n                iVar20 = LocaleCompare(local_1020,"maximum-error");\n                if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"mattecolor");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"mattecolor")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"mattecolor")" (identifier "LocaleCompare") (argument_list "(local_1020,"mattecolor")" (( "(") (identifier "local_1020") (, ",") (string_literal ""mattecolor"" (" """) (string_content "mattecolor") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  piVar18 = piVar5 + 0xcd2;\n                  goto code_r0x0025b456;\n                }" ({ "{") (expression_statement "piVar18 = piVar5 + 0xcd2;" (assignment_expression "piVar18 = piVar5 + 0xcd2" (identifier "piVar18") (= "=") (binary_expression "piVar5 + 0xcd2" (identifier "piVar5") (+ "+") (number_literal "0xcd2"))) (; ";")) (goto_statement "goto code_r0x0025b456;" (goto "goto") (statement_identifier "code_r0x0025b456") (; ";")) (} "}"))) (expression_statement "iVar20 = LocaleCompare(local_1020,"maximum-error");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"maximum-error")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"maximum-error")" (identifier "LocaleCompare") (argument_list "(local_1020,"maximum-error")" (( "(") (identifier "local_1020") (, ",") (string_literal ""maximum-error"" (" """) (string_content "maximum-error") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                  *(double *)(piVar5 + 0xb0) = (double)lVar27;\n                }" ({ "{") (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" (identifier "lVar27") (= "=") (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "InterpretLocaleValue(local_30a4,0)" (identifier "InterpretLocaleValue") (argument_list "(local_30a4,0)" (( "(") (identifier "local_30a4") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "*(double *)(piVar5 + 0xb0) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0xb0) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0xb0)" (* "*") (cast_expression "(double *)(piVar5 + 0xb0)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0xb0)" (( "(") (binary_expression "piVar5 + 0xb0" (identifier "piVar5") (+ "+") (number_literal "0xb0")) () ")")))) (= "=") (cast_expression "(double)lVar27" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar27"))) (; ";")) (} "}")) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"mean-error");\n                  if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }\n                }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"mean-error");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"mean-error")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"mean-error")" (identifier "LocaleCompare") (argument_list "(local_1020,"mean-error")" (( "(") (identifier "local_1020") (, ",") (string_literal ""mean-error"" (" """) (string_content "mean-error") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);\n                    *(double *)(piVar5 + 0xae) = (double)lVar27;\n                  }" ({ "{") (expression_statement "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);" (assignment_expression "lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0)" (identifier "lVar27") (= "=") (cast_expression "(longdouble)InterpretLocaleValue(local_30a4,0)" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "InterpretLocaleValue(local_30a4,0)" (identifier "InterpretLocaleValue") (argument_list "(local_30a4,0)" (( "(") (identifier "local_30a4") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "*(double *)(piVar5 + 0xae) = (double)lVar27;" (assignment_expression "*(double *)(piVar5 + 0xae) = (double)lVar27" (pointer_expression "*(double *)(piVar5 + 0xae)" (* "*") (cast_expression "(double *)(piVar5 + 0xae)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0xae)" (( "(") (binary_expression "piVar5 + 0xae" (identifier "piVar5") (+ "+") (number_literal "0xae")) () ")")))) (= "=") (cast_expression "(double)lVar27" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar27"))) (; ";")) (} "}")) (else_clause "else {\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }" (else "else") (compound_statement "{\n                    iVar20 = LocaleCompare(local_1020,"montage");\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    CloneString(piVar5 + 0x78,local_30a4);\n                  }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"montage");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"montage")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"montage")" (identifier "LocaleCompare") (argument_list "(local_1020,"montage")" (( "(") (identifier "local_1020") (, ",") (string_literal ""montage"" (" """) (string_content "montage") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "CloneString(piVar5 + 0x78,local_30a4);" (call_expression "CloneString(piVar5 + 0x78,local_30a4)" (identifier "CloneString") (argument_list "(piVar5 + 0x78,local_30a4)" (( "(") (binary_expression "piVar5 + 0x78" (identifier "piVar5") (+ "+") (number_literal "0x78")) (, ",") (identifier "local_30a4") () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x4e:" (case "case") (number_literal "0x4e") (: ":")) (case_statement "case 0x6e:\n              iVar20 = LocaleCompare(local_1020,"number-channels");\n              if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }\n              break;" (case "case") (number_literal "0x6e") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"number-channels");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"number-channels")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"number-channels")" (identifier "LocaleCompare") (argument_list "(local_1020,"number-channels")" (( "(") (identifier "local_1020") (, ",") (string_literal ""number-channels"" (" """) (string_content "number-channels") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                piVar5[0xa6] = uVar9;\n              }" ({ "{") (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[0xa6] = uVar9;" (assignment_expression "piVar5[0xa6] = uVar9" (subscript_expression "piVar5[0xa6]" (identifier "piVar5") ([ "[") (number_literal "0xa6") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"number-meta-channels");\n                if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"number-meta-channels");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"number-meta-channels")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"number-meta-channels")" (identifier "LocaleCompare") (argument_list "(local_1020,"number-meta-channels")" (( "(") (identifier "local_1020") (, ",") (string_literal ""number-meta-channels"" (" """) (string_content "number-meta-channels") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                  piVar5[0xa7] = uVar9;\n                  if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }\n                }" ({ "{") (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[0xa7] = uVar9;" (assignment_expression "piVar5[0xa7] = uVar9" (subscript_expression "piVar5[0xa7]" (identifier "piVar5") ([ "[") (number_literal "0xa7") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (0x40 < uVar9) {\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }" (if "if") (parenthesized_expression "(0x40 < uVar9)" (( "(") (binary_expression "0x40 < uVar9" (number_literal "0x40") (< "<") (identifier "uVar9")) () ")")) (compound_statement "{\n                    if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }\n                    DestroyString(local_30a4);\n                    pcVar31 = "ImproperImageHeader";\n                    uVar30 = 0x1a9;\n                    uVar19 = 0x245;\n                    goto LAB_0025b781;\n                  }" ({ "{") (if_statement "if (local_3084 != 0) {\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }" (if "if") (parenthesized_expression "(local_3084 != 0)" (( "(") (binary_expression "local_3084 != 0" (identifier "local_3084") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);\n                    }" ({ "{") (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7)" (identifier "DestroyLinkedList") (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,\n                                        ppuVar7)" (( "(") (identifier "local_3084") (, ",") (identifier "PTR_RelinquishMagickMemory_0041dfd8") (, ",") (identifier "ppuVar7") (, ",") (identifier "ppuVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" (identifier "DestroyString") (argument_list "(local_30a4)" (( "(") (identifier "local_30a4") () ")"))) (; ";")) (expression_statement "pcVar31 = "ImproperImageHeader";" (assignment_expression "pcVar31 = "ImproperImageHeader"" (identifier "pcVar31") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" (identifier "uVar30") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar19 = 0x245;" (assignment_expression "uVar19 = 0x245" (identifier "uVar19") (= "=") (number_literal "0x245")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (} "}"))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x4f:" (case "case") (number_literal "0x4f") (: ":")) (case_statement "case 0x6f:\n              iVar20 = LocaleCompare(local_1020,"orientation");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x36,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }\n              break;" (case "case") (number_literal "0x6f") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"orientation");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"orientation")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"orientation")" (identifier "LocaleCompare") (argument_list "(local_1020,"orientation")" (( "(") (identifier "local_1020") (, ",") (string_literal ""orientation"" (" """) (string_content "orientation") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "iVar20 = ParseCommandOption(0x36,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x36,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(0x36,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(0x36,0,local_30a4)" (( "(") (number_literal "0x36") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                piVar5[4] = iVar20;\n              }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                piVar5[4] = iVar20;\n              }" ({ "{") (expression_statement "piVar5[4] = iVar20;" (assignment_expression "piVar5[4] = iVar20" (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x50:" (case "case") (number_literal "0x50") (: ":")) (case_statement "case 0x70:\n              iVar20 = LocaleCompare(local_1020,"page");\n              if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }\n              break;" (case "case") (number_literal "0x70") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"page");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"page")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"page")" (identifier "LocaleCompare") (argument_list "(local_1020,"page")" (( "(") (identifier "local_1020") (, ",") (string_literal ""page"" (" """) (string_content "page") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar19 = GetPageGeometry(local_30a4);\n                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);\n                DestroyString(uVar19);\n              }" ({ "{") (expression_statement "uVar19 = GetPageGeometry(local_30a4);" (assignment_expression "uVar19 = GetPageGeometry(local_30a4)" (identifier "uVar19") (= "=") (call_expression "GetPageGeometry(local_30a4)" (identifier "GetPageGeometry") (argument_list "(local_30a4)" (( "(") (identifier "local_30a4") () ")")))) (; ";")) (expression_statement "ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);" (call_expression "ParseAbsoluteGeometry(uVar19,piVar5 + 0x80)" (identifier "ParseAbsoluteGeometry") (argument_list "(uVar19,piVar5 + 0x80)" (( "(") (identifier "uVar19") (, ",") (binary_expression "piVar5 + 0x80" (identifier "piVar5") (+ "+") (number_literal "0x80")) () ")"))) (; ";")) (expression_statement "DestroyString(uVar19);" (call_expression "DestroyString(uVar19)" (identifier "DestroyString") (argument_list "(uVar19)" (( "(") (identifier "uVar19") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"pixel-intensity");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"pixel-intensity");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"pixel-intensity")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"pixel-intensity")" (identifier "LocaleCompare") (argument_list "(local_1020,"pixel-intensity")" (( "(") (identifier "local_1020") (, ",") (string_literal ""pixel-intensity"" (" """) (string_content "pixel-intensity") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar20 = ParseCommandOption(0x38,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }\n                }" ({ "{") (expression_statement "iVar20 = ParseCommandOption(0x38,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x38,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(0x38,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(0x38,0,local_30a4)" (( "(") (number_literal "0x38") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                    piVar5[0x8b] = iVar20;\n                  }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                    piVar5[0x8b] = iVar20;\n                  }" ({ "{") (expression_statement "piVar5[0x8b] = iVar20;" (assignment_expression "piVar5[0x8b] = iVar20" (subscript_expression "piVar5[0x8b]" (identifier "piVar5") ([ "[") (number_literal "0x8b") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }" (else "else") (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"profile");\n                  if (iVar20 != 0) goto LAB_0025b5d0;\n                  if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }\n                  uVar19 = AcquireString(local_30a4);\n                  AppendValueToLinkedList(local_3084,uVar19);\n                }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"profile");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"profile")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"profile")" (identifier "LocaleCompare") (argument_list "(local_1020,"profile")" (( "(") (identifier "local_1020") (, ",") (string_literal ""profile"" (" """) (string_content "profile") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (if_statement "if (local_3084 == 0) {\n                    local_3084 = NewLinkedList(0);\n                  }" (if "if") (parenthesized_expression "(local_3084 == 0)" (( "(") (binary_expression "local_3084 == 0" (identifier "local_3084") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    local_3084 = NewLinkedList(0);\n                  }" ({ "{") (expression_statement "local_3084 = NewLinkedList(0);" (assignment_expression "local_3084 = NewLinkedList(0)" (identifier "local_3084") (= "=") (call_expression "NewLinkedList(0)" (identifier "NewLinkedList") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar19 = AcquireString(local_30a4);" (assignment_expression "uVar19 = AcquireString(local_30a4)" (identifier "uVar19") (= "=") (call_expression "AcquireString(local_30a4)" (identifier "AcquireString") (argument_list "(local_30a4)" (( "(") (identifier "local_30a4") () ")")))) (; ";")) (expression_statement "AppendValueToLinkedList(local_3084,uVar19);" (call_expression "AppendValueToLinkedList(local_3084,uVar19)" (identifier "AppendValueToLinkedList") (argument_list "(local_3084,uVar19)" (( "(") (identifier "local_3084") (, ",") (identifier "uVar19") () ")"))) (; ";")) (} "}")))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x51:" (case "case") (number_literal "0x51") (: ":")) (case_statement "case 0x71:\n              iVar20 = LocaleCompare(local_1020,"quality");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[3] = uVar9;\n              break;" (case "case") (number_literal "0x71") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"quality");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"quality")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"quality")" (identifier "LocaleCompare") (argument_list "(local_1020,"quality")" (( "(") (identifier "local_1020") (, ",") (string_literal ""quality"" (" """) (string_content "quality") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[3] = uVar9;" (assignment_expression "piVar5[3] = uVar9" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x52:" (case "case") (number_literal "0x52") (: ":")) (case_statement "case 0x72:\n              iVar20 = LocaleCompare(local_1020,"red-primary");\n              if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }\n              break;" (case "case") (number_literal "0x72") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"red-primary");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"red-primary")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"red-primary")" (identifier "LocaleCompare") (argument_list "(local_1020,"red-primary")" (( "(") (identifier "local_1020") (, ",") (string_literal ""red-primary"" (" """) (string_content "red-primary") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar22 = ParseGeometry(local_30a4,&local_304c);\n                *(undefined8 *)(piVar5 + 0x5d) = local_304c;\n                if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }\n              }" ({ "{") (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" (identifier "uVar22") (= "=") (call_expression "ParseGeometry(local_30a4,&local_304c)" (identifier "ParseGeometry") (argument_list "(local_30a4,&local_304c)" (( "(") (identifier "local_30a4") (, ",") (pointer_expression "&local_304c" (& "&") (identifier "local_304c")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(piVar5 + 0x5d) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x5d) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x5d)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x5d)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x5d)" (( "(") (binary_expression "piVar5 + 0x5d" (identifier "piVar5") (+ "+") (number_literal "0x5d")) () ")")))) (= "=") (identifier "local_304c")) (; ";")) (if_statement "if ((uVar22 & 8) != 0) {\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }" (if "if") (parenthesized_expression "((uVar22 & 8) != 0)" (( "(") (binary_expression "(uVar22 & 8) != 0" (parenthesized_expression "(uVar22 & 8)" (( "(") (binary_expression "uVar22 & 8" (identifier "uVar22") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;\n                }" ({ "{") (expression_statement "*(undefined8 *)(piVar5 + 0x5f) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x5f) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x5f)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x5f)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x5f)" (( "(") (binary_expression "piVar5 + 0x5f" (identifier "piVar5") (+ "+") (number_literal "0x5f")) () ")")))) (= "=") (identifier "uStack_3044")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"rendering-intent");\n                if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"rendering-intent");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"rendering-intent")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"rendering-intent")" (identifier "LocaleCompare") (argument_list "(local_1020,"rendering-intent")" (( "(") (identifier "local_1020") (, ",") (string_literal ""rendering-intent"" (" """) (string_content "rendering-intent") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }\n                else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  iVar20 = ParseCommandOption(0x23,0,local_30a4);\n                  if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }\n                }" ({ "{") (expression_statement "iVar20 = ParseCommandOption(0x23,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x23,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(0x23,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(0x23,0,local_30a4)" (( "(") (number_literal "0x23") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                    piVar5[0x75] = iVar20;\n                  }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                    piVar5[0x75] = iVar20;\n                  }" ({ "{") (expression_statement "piVar5[0x75] = iVar20;" (assignment_expression "piVar5[0x75] = iVar20" (subscript_expression "piVar5[0x75]" (identifier "piVar5") ([ "[") (number_literal "0x75") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }" (else "else") (compound_statement "{\n                  iVar20 = LocaleCompare(local_1020,"resolution");\n                  if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }\n                }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"resolution");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"resolution")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"resolution")" (identifier "LocaleCompare") (argument_list "(local_1020,"resolution")" (( "(") (identifier "local_1020") (, ",") (string_literal ""resolution"" (" """) (string_content "resolution") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }\n                  else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    uVar22 = ParseGeometry(local_30a4,&local_304c);\n                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;\n                    if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }\n                  }" ({ "{") (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" (identifier "uVar22") (= "=") (call_expression "ParseGeometry(local_30a4,&local_304c)" (identifier "ParseGeometry") (argument_list "(local_30a4,&local_304c)" (( "(") (identifier "local_30a4") (, ",") (pointer_expression "&local_304c" (& "&") (identifier "local_304c")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(piVar5 + 0x7c) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x7c) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x7c)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x7c)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x7c)" (( "(") (binary_expression "piVar5 + 0x7c" (identifier "piVar5") (+ "+") (number_literal "0x7c")) () ")")))) (= "=") (identifier "local_304c")) (; ";")) (if_statement "if ((uVar22 & 8) == 0) {\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }\n                    else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }" (if "if") (parenthesized_expression "((uVar22 & 8) == 0)" (( "(") (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" (( "(") (binary_expression "uVar22 & 8" (identifier "uVar22") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;\n                    }" ({ "{") (expression_statement "*(undefined8 *)(piVar5 + 0x7e) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x7e) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x7e)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x7e)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x7e)" (( "(") (binary_expression "piVar5 + 0x7e" (identifier "piVar5") (+ "+") (number_literal "0x7e")) () ")")))) (= "=") (identifier "local_304c")) (; ";")) (} "}")) (else_clause "else {\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }" (else "else") (compound_statement "{\n                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;\n                    }" ({ "{") (expression_statement "*(undefined8 *)(piVar5 + 0x7e) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x7e) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x7e)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x7e)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x7e)" (( "(") (binary_expression "piVar5 + 0x7e" (identifier "piVar5") (+ "+") (number_literal "0x7e")) () ")")))) (= "=") (identifier "uStack_3044")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }" (else "else") (compound_statement "{\n                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);\n                    if (iVar20 != 0) goto LAB_0025b5d0;\n                    uVar9 = strtoul(local_30a4,(char **)0x0,10);\n                    piVar5[7] = uVar9;\n                  }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,&UNK_003440a8);" (assignment_expression "iVar20 = LocaleCompare(local_1020,&UNK_003440a8)" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,&UNK_003440a8)" (identifier "LocaleCompare") (argument_list "(local_1020,&UNK_003440a8)" (( "(") (identifier "local_1020") (, ",") (pointer_expression "&UNK_003440a8" (& "&") (identifier "UNK_003440a8")) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[7] = uVar9;" (assignment_expression "piVar5[7] = uVar9" (subscript_expression "piVar5[7]" (identifier "piVar5") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (} "}")))) (} "}")))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x53:" (case "case") (number_literal "0x53") (: ":")) (case_statement "case 0x73:\n              iVar20 = LocaleCompare(local_1020,"scene");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar9 = strtoul(local_30a4,(char **)0x0,10);\n              piVar5[0x91] = uVar9;\n              break;" (case "case") (number_literal "0x73") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"scene");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"scene")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"scene")" (identifier "LocaleCompare") (argument_list "(local_1020,"scene")" (( "(") (identifier "local_1020") (, ",") (string_literal ""scene"" (" """) (string_content "scene") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "uVar9 = strtoul(local_30a4,(char **)0x0,10);" (assignment_expression "uVar9 = strtoul(local_30a4,(char **)0x0,10)" (identifier "uVar9") (= "=") (call_expression "strtoul(local_30a4,(char **)0x0,10)" (identifier "strtoul") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[0x91] = uVar9;" (assignment_expression "piVar5[0x91] = uVar9" (subscript_expression "piVar5[0x91]" (identifier "piVar5") ([ "[") (number_literal "0x91") (] "]")) (= "=") (identifier "uVar9")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x54:" (case "case") (number_literal "0x54") (: ":")) (case_statement "case 0x74:\n              iVar20 = LocaleCompare(local_1020,"ticks-per-second");\n              if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }\n              break;" (case "case") (number_literal "0x74") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"ticks-per-second");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"ticks-per-second")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"ticks-per-second")" (identifier "LocaleCompare") (argument_list "(local_1020,"ticks-per-second")" (( "(") (identifier "local_1020") (, ",") (string_literal ""ticks-per-second"" (" """) (string_content "ticks-per-second") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }\n              else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                lVar16 = strtol(local_30a4,(char **)0x0,10);\n                piVar5[0x94] = lVar16;\n              }" ({ "{") (expression_statement "lVar16 = strtol(local_30a4,(char **)0x0,10);" (assignment_expression "lVar16 = strtol(local_30a4,(char **)0x0,10)" (identifier "lVar16") (= "=") (call_expression "strtol(local_30a4,(char **)0x0,10)" (identifier "strtol") (argument_list "(local_30a4,(char **)0x0,10)" (( "(") (identifier "local_30a4") (, ",") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0")) (, ",") (number_literal "10") () ")")))) (; ";")) (expression_statement "piVar5[0x94] = lVar16;" (assignment_expression "piVar5[0x94] = lVar16" (subscript_expression "piVar5[0x94]" (identifier "piVar5") ([ "[") (number_literal "0x94") (] "]")) (= "=") (identifier "lVar16")) (; ";")) (} "}")) (else_clause "else {\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }" (else "else") (compound_statement "{\n                iVar20 = LocaleCompare(local_1020,"tile-offset");\n                if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }\n                iVar20 = LocaleCompare(local_1020,"type");\n                if (iVar20 != 0) goto LAB_0025b5d0;\n                iVar20 = ParseCommandOption(0x49,0,local_30a4);\n                if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }\n              }" ({ "{") (expression_statement "iVar20 = LocaleCompare(local_1020,"tile-offset");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"tile-offset")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"tile-offset")" (identifier "LocaleCompare") (argument_list "(local_1020,"tile-offset")" (( "(") (identifier "local_1020") (, ",") (string_literal ""tile-offset"" (" """) (string_content "tile-offset") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 == 0) {\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar19 = GetPageGeometry(local_30a4);\n                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);\n                  DestroyString(uVar19);\n                }" ({ "{") (expression_statement "uVar19 = GetPageGeometry(local_30a4);" (assignment_expression "uVar19 = GetPageGeometry(local_30a4)" (identifier "uVar19") (= "=") (call_expression "GetPageGeometry(local_30a4)" (identifier "GetPageGeometry") (argument_list "(local_30a4)" (( "(") (identifier "local_30a4") () ")")))) (; ";")) (expression_statement "ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);" (call_expression "ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a)" (identifier "ParseAbsoluteGeometry") (argument_list "(uVar19,piVar5 + 0x9a)" (( "(") (identifier "uVar19") (, ",") (binary_expression "piVar5 + 0x9a" (identifier "piVar5") (+ "+") (number_literal "0x9a")) () ")"))) (; ";")) (expression_statement "DestroyString(uVar19);" (call_expression "DestroyString(uVar19)" (identifier "DestroyString") (argument_list "(uVar19)" (( "(") (identifier "uVar19") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar20 = LocaleCompare(local_1020,"type");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"type")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"type")" (identifier "LocaleCompare") (argument_list "(local_1020,"type")" (( "(") (identifier "local_1020") (, ",") (string_literal ""type"" (" """) (string_content "type") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "iVar20 = ParseCommandOption(0x49,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x49,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(0x49,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(0x49,0,local_30a4)" (( "(") (number_literal "0x49") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                  piVar5[0x9e] = iVar20;\n                }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                  piVar5[0x9e] = iVar20;\n                }" ({ "{") (expression_statement "piVar5[0x9e] = iVar20;" (assignment_expression "piVar5[0x9e] = iVar20" (subscript_expression "piVar5[0x9e]" (identifier "piVar5") ([ "[") (number_literal "0x9e") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x55:" (case "case") (number_literal "0x55") (: ":")) (case_statement "case 0x75:\n              iVar20 = LocaleCompare(local_1020,"units");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              iVar20 = ParseCommandOption(0x41,0,local_30a4);\n              if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }\n              break;" (case "case") (number_literal "0x75") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"units");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"units")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"units")" (identifier "LocaleCompare") (argument_list "(local_1020,"units")" (( "(") (identifier "local_1020") (, ",") (string_literal ""units"" (" """) (string_content "units") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "iVar20 = ParseCommandOption(0x41,0,local_30a4);" (assignment_expression "iVar20 = ParseCommandOption(0x41,0,local_30a4)" (identifier "iVar20") (= "=") (call_expression "ParseCommandOption(0x41,0,local_30a4)" (identifier "ParseCommandOption") (argument_list "(0x41,0,local_30a4)" (( "(") (number_literal "0x41") (, ",") (number_literal "0") (, ",") (identifier "local_30a4") () ")")))) (; ";")) (if_statement "if (-1 < iVar20) {\n                piVar5[0x77] = iVar20;\n              }" (if "if") (parenthesized_expression "(-1 < iVar20)" (( "(") (binary_expression "-1 < iVar20" (number_literal "-1") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                piVar5[0x77] = iVar20;\n              }" ({ "{") (expression_statement "piVar5[0x77] = iVar20;" (assignment_expression "piVar5[0x77] = iVar20" (subscript_expression "piVar5[0x77]" (identifier "piVar5") ([ "[") (number_literal "0x77") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x57:" (case "case") (number_literal "0x57") (: ":")) (case_statement "case 0x77:\n              iVar20 = LocaleCompare(local_1020,"white-point");\n              if (iVar20 != 0) goto LAB_0025b5d0;\n              uVar22 = ParseGeometry(local_30a4,&local_304c);\n              *(undefined8 *)(piVar5 + 0x6f) = local_304c;\n              if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" (case "case") (number_literal "0x77") (: ":") (expression_statement "iVar20 = LocaleCompare(local_1020,"white-point");" (assignment_expression "iVar20 = LocaleCompare(local_1020,"white-point")" (identifier "iVar20") (= "=") (call_expression "LocaleCompare(local_1020,"white-point")" (identifier "LocaleCompare") (argument_list "(local_1020,"white-point")" (( "(") (identifier "local_1020") (, ",") (string_literal ""white-point"" (" """) (string_content "white-point") (" """)) () ")")))) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_0025b5d0;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b5d0;" (goto "goto") (statement_identifier "LAB_0025b5d0") (; ";"))) (expression_statement "uVar22 = ParseGeometry(local_30a4,&local_304c);" (assignment_expression "uVar22 = ParseGeometry(local_30a4,&local_304c)" (identifier "uVar22") (= "=") (call_expression "ParseGeometry(local_30a4,&local_304c)" (identifier "ParseGeometry") (argument_list "(local_30a4,&local_304c)" (( "(") (identifier "local_30a4") (, ",") (pointer_expression "&local_304c" (& "&") (identifier "local_304c")) () ")")))) (; ";")) (expression_statement "*(undefined8 *)(piVar5 + 0x6f) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x6f) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x6f)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x6f)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x6f)" (( "(") (binary_expression "piVar5 + 0x6f" (identifier "piVar5") (+ "+") (number_literal "0x6f")) () ")")))) (= "=") (identifier "local_304c")) (; ";")) (if_statement "if ((uVar22 & 8) == 0) {\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }\n              else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" (if "if") (parenthesized_expression "((uVar22 & 8) == 0)" (( "(") (binary_expression "(uVar22 & 8) == 0" (parenthesized_expression "(uVar22 & 8)" (( "(") (binary_expression "uVar22 & 8" (identifier "uVar22") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined8 *)(piVar5 + 0x71) = local_304c;\n              }" ({ "{") (expression_statement "*(undefined8 *)(piVar5 + 0x71) = local_304c;" (assignment_expression "*(undefined8 *)(piVar5 + 0x71) = local_304c" (pointer_expression "*(undefined8 *)(piVar5 + 0x71)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x71)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x71)" (( "(") (binary_expression "piVar5 + 0x71" (identifier "piVar5") (+ "+") (number_literal "0x71")) () ")")))) (= "=") (identifier "local_304c")) (; ";")) (} "}")) (else_clause "else {\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" (else "else") (compound_statement "{\n                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;\n              }" ({ "{") (expression_statement "*(undefined8 *)(piVar5 + 0x71) = uStack_3044;" (assignment_expression "*(undefined8 *)(piVar5 + 0x71) = uStack_3044" (pointer_expression "*(undefined8 *)(piVar5 + 0x71)" (* "*") (cast_expression "(undefined8 *)(piVar5 + 0x71)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0x71)" (( "(") (binary_expression "piVar5 + 0x71" (identifier "piVar5") (+ "+") (number_literal "0x71")) () ")")))) (= "=") (identifier "uStack_3044")) (; ";")) (} "}"))))) (} "}"))) (} "}")))) (goto_statement "goto LAB_0025ac68;" (goto "goto") (statement_identifier "LAB_0025ac68") (; ";")) (} "}")))) (labeled_statement "LAB_0025aca4:\n        DestroyString(local_30a4);" (statement_identifier "LAB_0025aca4") (: ":") (expression_statement "DestroyString(local_30a4);" (call_expression "DestroyString(local_30a4)" (identifier "DestroyString") (argument_list "(local_30a4)" (( "(") (identifier "local_30a4") () ")"))) (; ";"))) (expression_statement "ReadBlobByte(piVar5);" (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "iVar6 = LocaleCompare(local_2020,"MagickPixelCache");" (assignment_expression "iVar6 = LocaleCompare(local_2020,"MagickPixelCache")" (identifier "iVar6") (= "=") (call_expression "LocaleCompare(local_2020,"MagickPixelCache")" (identifier "LocaleCompare") (argument_list "(local_2020,"MagickPixelCache")" (( "(") (identifier "local_2020") (, ",") (string_literal ""MagickPixelCache"" (" """) (string_content "MagickPixelCache") (" """)) () ")")))) (; ";")) (if_statement "if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }" (if "if") (parenthesized_expression "(((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U))" (( "(") (binary_expression "((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||\n           (0x3f < piVar5[8] - 1U)" (parenthesized_expression "((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))))))))" (( "(") (binary_expression "(((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||\n            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))" (parenthesized_expression "(((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0))" (( "(") (binary_expression "((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)" (parenthesized_expression "((iVar6 != 0) || (*piVar5 == 0))" (( "(") (binary_expression "(iVar6 != 0) || (*piVar5 == 0)" (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*piVar5 == 0)" (( "(") (binary_expression "*piVar5 == 0" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(piVar5[2] == 0)" (( "(") (binary_expression "piVar5[2] == 0" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))" (( "(") (parenthesized_expression "((piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))))))" (( "(") (binary_expression "(piVar5[6] == 0 || (piVar5[7] == 0)) ||\n             ((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))" (parenthesized_expression "(piVar5[6] == 0 || (piVar5[7] == 0))" (( "(") (binary_expression "piVar5[6] == 0 || (piVar5[7] == 0)" (binary_expression "piVar5[6] == 0" (subscript_expression "piVar5[6]" (identifier "piVar5") ([ "[") (number_literal "6") (] "]")) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(piVar5[7] == 0)" (( "(") (binary_expression "piVar5[7] == 0" (subscript_expression "piVar5[7]" (identifier "piVar5") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))" (( "(") (parenthesized_expression "(0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))))" (( "(") (binary_expression "0x40 < (uint)piVar5[0xa6] ||\n              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))" (binary_expression "0x40 < (uint)piVar5[0xa6]" (number_literal "0x40") (< "<") (cast_expression "(uint)piVar5[0xa6]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar5[0xa6]" (identifier "piVar5") ([ "[") (number_literal "0xa6") (] "]")))) (|| "||") (parenthesized_expression "((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))" (( "(") (parenthesized_expression "(0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])))" (( "(") (binary_expression "0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))" (binary_expression "0x38 < (uint)piVar5[0xa7]" (number_literal "0x38") (< "<") (cast_expression "(uint)piVar5[0xa7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar5[0xa7]" (identifier "piVar5") ([ "[") (number_literal "0xa7") (] "]")))) (|| "||") (parenthesized_expression "(0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))" (( "(") (binary_expression "0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7])" (number_literal "0x3f") (< "<") (call_expression "(uint)(piVar5[0xa6] + piVar5[0xa7])" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar5[0xa6] + piVar5[0xa7])" (( "(") (binary_expression "piVar5[0xa6] + piVar5[0xa7]" (subscript_expression "piVar5[0xa6]" (identifier "piVar5") ([ "[") (number_literal "0xa6") (] "]")) (+ "+") (subscript_expression "piVar5[0xa7]" (identifier "piVar5") ([ "[") (number_literal "0xa7") (] "]"))) () ")")))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(0x3f < piVar5[8] - 1U)" (( "(") (binary_expression "0x3f < piVar5[8] - 1U" (number_literal "0x3f") (< "<") (binary_expression "piVar5[8] - 1U" (subscript_expression "piVar5[8]" (identifier "piVar5") ([ "[") (number_literal "8") (] "]")) (- "-") (number_literal "1U"))) () ")"))) () ")")) (compound_statement "{\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "ImproperImageHeader";\n          uVar30 = 0x1a9;\n          uVar19 = 0x31d;\nLAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);\n          CloseBlob(piVar5);\n          DestroyImageList(piVar5);\n          uVar19 = 0;\n          goto LAB_0025b79c;\n        }" ({ "{") (if_statement "if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" (if "if") (parenthesized_expression "(local_3084 != 0)" (( "(") (binary_expression "local_3084 != 0" (identifier "local_3084") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" ({ "{") (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" (identifier "DestroyLinkedList") (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" (( "(") (identifier "local_3084") (, ",") (identifier "PTR_RelinquishMagickMemory_0041dfd8") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar31 = "ImproperImageHeader";" (assignment_expression "pcVar31 = "ImproperImageHeader"" (identifier "pcVar31") (= "=") (string_literal ""ImproperImageHeader"" (" """) (string_content "ImproperImageHeader") (" """))) (; ";")) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" (identifier "uVar30") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar19 = 0x31d;" (assignment_expression "uVar19 = 0x31d" (identifier "uVar19") (= "=") (number_literal "0x31d")) (; ";")) (labeled_statement "LAB_0025b781:\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);" (statement_identifier "LAB_0025b781") (: ":") (expression_statement "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0);" (call_expression "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",\n                     param_1 + 0x21f0)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/mpc.c"" (" """) (string_content "coders/mpc.c") (" """)) (, ",") (string_literal ""ReadMPCImage"" (" """) (string_content "ReadMPCImage") (" """)) (, ",") (identifier "uVar19") (, ",") (identifier "uVar30") (, ",") (identifier "pcVar31") (, ",") (string_literal ""`%s\'"" (" """) (string_content "`%s") (escape_sequence "\'") (" """)) (, ",") (binary_expression "param_1 + 0x21f0" (identifier "param_1") (+ "+") (number_literal "0x21f0")) () ")"))) (; ";"))) (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" (identifier "CloseBlob") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "DestroyImageList(piVar5);" (call_expression "DestroyImageList(piVar5)" (identifier "DestroyImageList") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" (identifier "uVar19") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0025b79c;" (goto "goto") (statement_identifier "LAB_0025b79c") (; ";")) (} "}"))) (expression_statement "uVar9 = GetMagickSignature(0);" (assignment_expression "uVar9 = GetMagickSignature(0)" (identifier "uVar9") (= "=") (call_expression "GetMagickSignature(0)" (identifier "GetMagickSignature") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (if_statement "if (local_3078 != uVar9) {\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }" (if "if") (parenthesized_expression "(local_3078 != uVar9)" (( "(") (binary_expression "local_3078 != uVar9" (identifier "local_3078") (!= "!=") (identifier "uVar9")) () ")")) (compound_statement "{\n          if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }\n          pcVar31 = "IncompatibleAPI";\n          uVar30 = 0x1bd;\n          uVar19 = 0x323;\n          goto LAB_0025b781;\n        }" ({ "{") (if_statement "if (local_3084 != 0) {\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" (if "if") (parenthesized_expression "(local_3084 != 0)" (( "(") (binary_expression "local_3084 != 0" (identifier "local_3084") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n          }" ({ "{") (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" (identifier "DestroyLinkedList") (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" (( "(") (identifier "local_3084") (, ",") (identifier "PTR_RelinquishMagickMemory_0041dfd8") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar31 = "IncompatibleAPI";" (assignment_expression "pcVar31 = "IncompatibleAPI"" (identifier "pcVar31") (= "=") (string_literal ""IncompatibleAPI"" (" """) (string_content "IncompatibleAPI") (" """))) (; ";")) (expression_statement "uVar30 = 0x1bd;" (assignment_expression "uVar30 = 0x1bd" (identifier "uVar30") (= "=") (number_literal "0x1bd")) (; ";")) (expression_statement "uVar19 = 0x323;" (assignment_expression "uVar19 = 0x323" (identifier "uVar19") (= "=") (number_literal "0x323")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (if_statement "if (piVar5[0x78] != 0) {\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }" (if "if") (parenthesized_expression "(piVar5[0x78] != 0)" (( "(") (binary_expression "piVar5[0x78] != 0" (subscript_expression "piVar5[0x78]" (identifier "piVar5") ([ "[") (number_literal "0x78") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar6 = 0;\n          puVar12 = (undefined1 *)AcquireString(0);\n          piVar5[0x79] = (int)puVar12;\n          local_30ac = (char *)0x1000;\n          do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);\n        }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar12 = (undefined1 *)AcquireString(0);" (assignment_expression "puVar12 = (undefined1 *)AcquireString(0)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)AcquireString(0)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireString(0)" (identifier "AcquireString") (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (expression_statement "piVar5[0x79] = (int)puVar12;" (assignment_expression "piVar5[0x79] = (int)puVar12" (subscript_expression "piVar5[0x79]" (identifier "piVar5") ([ "[") (number_literal "0x79") (] "]")) (= "=") (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12"))) (; ";")) (expression_statement "local_30ac = (char *)0x1000;" (assignment_expression "local_30ac = (char *)0x1000" (identifier "local_30ac") (= "=") (cast_expression "(char *)0x1000" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1000"))) (; ";")) (do_statement "do {\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          } while (iVar20 != 0);" (do "do") (compound_statement "{\n            *puVar12 = 0;\n            puVar25 = puVar12;\n            if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }\n            iVar20 = ReadBlobByte(piVar5);\n            if (iVar20 == -1) break;\n            puVar12 = puVar25 + 1;\n            *puVar25 = (char)iVar20;\n            iVar6 = iVar6 + 1;\n          }" ({ "{") (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar25 = puVar12;" (assignment_expression "puVar25 = puVar12" (identifier "puVar25") (= "=") (identifier "puVar12")) (; ";")) (if_statement "if (local_30ac <= iVar6 + 0x1000U) {\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }" (if "if") (parenthesized_expression "(local_30ac <= iVar6 + 0x1000U)" (( "(") (binary_expression "local_30ac <= iVar6 + 0x1000U" (identifier "local_30ac") (<= "<=") (binary_expression "iVar6 + 0x1000U" (identifier "iVar6") (+ "+") (number_literal "0x1000U"))) () ")")) (compound_statement "{\n              local_30ac = (char *)((int)local_30ac * 2);\n              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);\n              piVar5[0x79] = iVar20;\n              if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }\n              puVar25 = (undefined1 *)(iVar20 + iVar6);\n            }" ({ "{") (expression_statement "local_30ac = (char *)((int)local_30ac * 2);" (assignment_expression "local_30ac = (char *)((int)local_30ac * 2)" (identifier "local_30ac") (= "=") (cast_expression "(char *)((int)local_30ac * 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_30ac * 2)" (( "(") (binary_expression "(int)local_30ac * 2" (cast_expression "(int)local_30ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30ac")) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);" (assignment_expression "iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1)" (identifier "iVar20") (= "=") (call_expression "ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1)" (identifier "ResizeQuantumMemory") (argument_list "(piVar5[0x79],(int)local_30ac + 0x1000,1)" (( "(") (subscript_expression "piVar5[0x79]" (identifier "piVar5") ([ "[") (number_literal "0x79") (] "]")) (, ",") (binary_expression "(int)local_30ac + 0x1000" (cast_expression "(int)local_30ac" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_30ac")) (+ "+") (number_literal "0x1000")) (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "piVar5[0x79] = iVar20;" (assignment_expression "piVar5[0x79] = iVar20" (subscript_expression "piVar5[0x79]" (identifier "piVar5") ([ "[") (number_literal "0x79") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (if_statement "if (iVar20 == 0) {\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }\n                pcVar31 = "UnableToReadImageData";\n                uVar30 = 0x1a9;\n                uVar19 = 0x341;\n                goto LAB_0025b781;\n              }" ({ "{") (if_statement "if (local_3084 != 0) {\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }" (if "if") (parenthesized_expression "(local_3084 != 0)" (( "(") (binary_expression "local_3084 != 0" (identifier "local_3084") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);\n                }" ({ "{") (expression_statement "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);" (call_expression "DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" (identifier "DestroyLinkedList") (argument_list "(local_3084,PTR_RelinquishMagickMemory_0041dfd8)" (( "(") (identifier "local_3084") (, ",") (identifier "PTR_RelinquishMagickMemory_0041dfd8") () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar31 = "UnableToReadImageData";" (assignment_expression "pcVar31 = "UnableToReadImageData"" (identifier "pcVar31") (= "=") (string_literal ""UnableToReadImageData"" (" """) (string_content "UnableToReadImageData") (" """))) (; ";")) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" (identifier "uVar30") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar19 = 0x341;" (assignment_expression "uVar19 = 0x341" (identifier "uVar19") (= "=") (number_literal "0x341")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (expression_statement "puVar25 = (undefined1 *)(iVar20 + iVar6);" (assignment_expression "puVar25 = (undefined1 *)(iVar20 + iVar6)" (identifier "puVar25") (= "=") (cast_expression "(undefined1 *)(iVar20 + iVar6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + iVar6)" (( "(") (binary_expression "iVar20 + iVar6" (identifier "iVar20") (+ "+") (identifier "iVar6")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar20 = ReadBlobByte(piVar5);" (assignment_expression "iVar20 = ReadBlobByte(piVar5)" (identifier "iVar20") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar20 == -1) break;" (if "if") (parenthesized_expression "(iVar20 == -1)" (( "(") (binary_expression "iVar20 == -1" (identifier "iVar20") (== "==") (number_literal "-1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "puVar12 = puVar25 + 1;" (assignment_expression "puVar12 = puVar25 + 1" (identifier "puVar12") (= "=") (binary_expression "puVar25 + 1" (identifier "puVar25") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar25 = (char)iVar20;" (assignment_expression "*puVar25 = (char)iVar20" (pointer_expression "*puVar25" (* "*") (identifier "puVar25")) (= "=") (cast_expression "(char)iVar20" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar20"))) (; ";")) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_3084 != 0) {\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }" (if "if") (parenthesized_expression "(local_3084 != 0)" (( "(") (binary_expression "local_3084 != 0" (identifier "local_3084") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          ResetLinkedListIterator(local_3084);\n          local_30ac = (char *)GetNextValueInLinkedList(local_3084);\n          if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }\nLAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);\n        }" ({ "{") (expression_statement "ResetLinkedListIterator(local_3084);" (call_expression "ResetLinkedListIterator(local_3084)" (identifier "ResetLinkedListIterator") (argument_list "(local_3084)" (( "(") (identifier "local_3084") () ")"))) (; ";")) (expression_statement "local_30ac = (char *)GetNextValueInLinkedList(local_3084);" (assignment_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084)" (identifier "local_30ac") (= "=") (cast_expression "(char *)GetNextValueInLinkedList(local_3084)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetNextValueInLinkedList(local_3084)" (identifier "GetNextValueInLinkedList") (argument_list "(local_3084)" (( "(") (identifier "local_3084") () ")"))))) (; ";")) (if_statement "if (local_30ac != (char *)0x0) {\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }" (if "if") (parenthesized_expression "(local_30ac != (char *)0x0)" (( "(") (binary_expression "local_30ac != (char *)0x0" (identifier "local_30ac") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }\n            DestroyStringInfo(iVar6);\n          }" ({ "{") (while_statement "while( true ) {\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              uVar22 = ReadBlobMSBLong(piVar5);\n              uVar28 = GetBlobSize(piVar5);\n              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;\n              uVar19 = GetStringInfoDatum(iVar6);\n              uVar13 = ReadBlob(piVar5,uVar22,uVar19);\n              if (uVar22 != uVar13) break;\n              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);\n              DestroyStringInfo(iVar6);\n              if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;\n            }" ({ "{") (expression_statement "uVar22 = ReadBlobMSBLong(piVar5);" (assignment_expression "uVar22 = ReadBlobMSBLong(piVar5)" (identifier "uVar22") (= "=") (call_expression "ReadBlobMSBLong(piVar5)" (identifier "ReadBlobMSBLong") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "uVar28 = GetBlobSize(piVar5);" (assignment_expression "uVar28 = GetBlobSize(piVar5)" (identifier "uVar28") (= "=") (call_expression "GetBlobSize(piVar5)" (identifier "GetBlobSize") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;" (if "if") (parenthesized_expression "((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0))" (( "(") (binary_expression "(((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||\n                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)" (parenthesized_expression "(((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22))" (( "(") (binary_expression "((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)" (parenthesized_expression "((int)((ulonglong)uVar28 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar28 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar28")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar28 < uVar22)" (( "(") (binary_expression "(uint)uVar28 < uVar22" (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28")) (< "<") (identifier "uVar22")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)" (( "(") (comma_expression "iVar6 = AcquireStringInfo(uVar22), iVar6 == 0" (assignment_expression "iVar6 = AcquireStringInfo(uVar22)" (identifier "iVar6") (= "=") (call_expression "AcquireStringInfo(uVar22)" (identifier "AcquireStringInfo") (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0025ba84;" (goto "goto") (statement_identifier "LAB_0025ba84") (; ";"))) (expression_statement "uVar19 = GetStringInfoDatum(iVar6);" (assignment_expression "uVar19 = GetStringInfoDatum(iVar6)" (identifier "uVar19") (= "=") (call_expression "GetStringInfoDatum(iVar6)" (identifier "GetStringInfoDatum") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")")))) (; ";")) (expression_statement "uVar13 = ReadBlob(piVar5,uVar22,uVar19);" (assignment_expression "uVar13 = ReadBlob(piVar5,uVar22,uVar19)" (identifier "uVar13") (= "=") (call_expression "ReadBlob(piVar5,uVar22,uVar19)" (identifier "ReadBlob") (argument_list "(piVar5,uVar22,uVar19)" (( "(") (identifier "piVar5") (, ",") (identifier "uVar22") (, ",") (identifier "uVar19") () ")")))) (; ";")) (if_statement "if (uVar22 != uVar13) break;" (if "if") (parenthesized_expression "(uVar22 != uVar13)" (( "(") (binary_expression "uVar22 != uVar13" (identifier "uVar22") (!= "!=") (identifier "uVar13")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);" (assignment_expression "local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2)" (identifier "local_3080") (= "=") (call_expression "SetImageProfile(piVar5,local_30ac,iVar6,param_2)" (identifier "SetImageProfile") (argument_list "(piVar5,local_30ac,iVar6,param_2)" (( "(") (identifier "piVar5") (, ",") (identifier "local_30ac") (, ",") (identifier "iVar6") (, ",") (identifier "param_2") () ")")))) (; ";")) (expression_statement "DestroyStringInfo(iVar6);" (call_expression "DestroyStringInfo(iVar6)" (identifier "DestroyStringInfo") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (if_statement "if ((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)) goto LAB_0025ba84;" (if "if") (parenthesized_expression "((local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0))" (( "(") (binary_expression "(local_3080 == 0) ||\n                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)" (parenthesized_expression "(local_3080 == 0)" (( "(") (binary_expression "local_3080 == 0" (identifier "local_3080") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0)" (( "(") (comma_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084),\n                 local_30ac == (char *)0x0" (assignment_expression "local_30ac = (char *)GetNextValueInLinkedList(local_3084)" (identifier "local_30ac") (= "=") (cast_expression "(char *)GetNextValueInLinkedList(local_3084)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "GetNextValueInLinkedList(local_3084)" (identifier "GetNextValueInLinkedList") (argument_list "(local_3084)" (( "(") (identifier "local_3084") () ")"))))) (, ",") (binary_expression "local_30ac == (char *)0x0" (identifier "local_30ac") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_0025ba84;" (goto "goto") (statement_identifier "LAB_0025ba84") (; ";"))) (} "}"))) (expression_statement "DestroyStringInfo(iVar6);" (call_expression "DestroyStringInfo(iVar6)" (identifier "DestroyStringInfo") (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0025ba84:\n          DestroyLinkedList(local_3084,puVar4);" (statement_identifier "LAB_0025ba84") (: ":") (expression_statement "DestroyLinkedList(local_3084,puVar4);" (call_expression "DestroyLinkedList(local_3084,puVar4)" (identifier "DestroyLinkedList") (argument_list "(local_3084,puVar4)" (( "(") (identifier "local_3084") (, ",") (identifier "puVar4") () ")"))) (; ";"))) (} "}"))) (expression_statement "iVar6 = GetImageQuantumDepth(piVar5,0);" (assignment_expression "iVar6 = GetImageQuantumDepth(piVar5,0)" (identifier "iVar6") (= "=") (call_expression "GetImageQuantumDepth(piVar5,0)" (identifier "GetImageQuantumDepth") (argument_list "(piVar5,0)" (( "(") (identifier "piVar5") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (*piVar5 != 2) goto LAB_0025ad8a;" (if "if") (parenthesized_expression "(*piVar5 != 2)" (( "(") (binary_expression "*piVar5 != 2" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_0025ad8a;" (goto "goto") (statement_identifier "LAB_0025ad8a") (; ";"))) (expression_statement "uVar22 = (uint)(iVar6 * 3) >> 3;" (assignment_expression "uVar22 = (uint)(iVar6 * 3) >> 3" (identifier "uVar22") (= "=") (binary_expression "(uint)(iVar6 * 3) >> 3" (call_expression "(uint)(iVar6 * 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar6 * 3)" (( "(") (binary_expression "iVar6 * 3" (identifier "iVar6") (* "*") (number_literal "3")) () ")"))) (>> ">>") (number_literal "3"))) (; ";")) (expression_statement "iVar20 = piVar5[9];" (assignment_expression "iVar20 = piVar5[9]" (identifier "iVar20") (= "=") (subscript_expression "piVar5[9]" (identifier "piVar5") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "uVar28 = GetBlobSize(piVar5);" (assignment_expression "uVar28 = GetBlobSize(piVar5)" (identifier "uVar28") (= "=") (call_expression "GetBlobSize(piVar5)" (identifier "GetBlobSize") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }" (if "if") (parenthesized_expression "(((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20))" (( "(") (binary_expression "((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)" (parenthesized_expression "((int)((ulonglong)uVar28 >> 0x20) == 0)" (( "(") (binary_expression "(int)((ulonglong)uVar28 >> 0x20) == 0" (cast_expression "(int)((ulonglong)uVar28 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar28 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar28 >> 0x20" (cast_expression "(ulonglong)uVar28" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar28")) (>> ">>") (number_literal "0x20")) () ")"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((uint)uVar28 < uVar22 * iVar20)" (( "(") (binary_expression "(uint)uVar28 < uVar22 * iVar20" (cast_expression "(uint)uVar28" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar28")) (< "<") (binary_expression "uVar22 * iVar20" (identifier "uVar22") (* "*") (identifier "iVar20"))) () ")"))) () ")")) (compound_statement "{\n          pcVar31 = "InsufficientImageDataInFile";\n          uVar30 = 0x1a9;\n          uVar19 = 0x37d;\n          goto LAB_0025b781;\n        }" ({ "{") (expression_statement "pcVar31 = "InsufficientImageDataInFile";" (assignment_expression "pcVar31 = "InsufficientImageDataInFile"" (identifier "pcVar31") (= "=") (string_literal ""InsufficientImageDataInFile"" (" """) (string_content "InsufficientImageDataInFile") (" """))) (; ";")) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" (identifier "uVar30") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar19 = 0x37d;" (assignment_expression "uVar19 = 0x37d" (identifier "uVar19") (= "=") (number_literal "0x37d")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (expression_statement "iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);" (assignment_expression "iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50)" (identifier "iVar20") (= "=") (call_expression "AcquireQuantumMemory(piVar5[9] + 1,0x50)" (identifier "AcquireQuantumMemory") (argument_list "(piVar5[9] + 1,0x50)" (( "(") (binary_expression "piVar5[9] + 1" (subscript_expression "piVar5[9]" (identifier "piVar5") ([ "[") (number_literal "9") (] "]")) (+ "+") (number_literal "1")) (, ",") (number_literal "0x50") () ")")))) (; ";")) (expression_statement "piVar5[10] = iVar20;" (assignment_expression "piVar5[10] = iVar20" (subscript_expression "piVar5[10]" (identifier "piVar5") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "iVar20")) (; ";")) (if_statement "if (iVar20 == 0) {\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar31 = "MemoryAllocationFailed";\n          uVar30 = 400;\n          uVar19 = 0x381;\n          goto LAB_0025b781;\n        }" ({ "{") (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" (identifier "pcVar31") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" (identifier "uVar30") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar19 = 0x381;" (assignment_expression "uVar19 = 0x381" (identifier "uVar19") (= "=") (number_literal "0x381")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (if_statement "if (piVar5[9] != 0) {\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }" (if "if") (parenthesized_expression "(piVar5[9] != 0)" (( "(") (binary_expression "piVar5[9] != 0" (subscript_expression "piVar5[9]" (identifier "piVar5") ([ "[") (number_literal "9") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);\n          if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }\n          goto LAB_0025b781;\n        }" ({ "{") (expression_statement "puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);" (assignment_expression "puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22)" (identifier "puVar14") (= "=") (cast_expression "(uint *)AcquireQuantumMemory(piVar5[9],uVar22)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "AcquireQuantumMemory(piVar5[9],uVar22)" (identifier "AcquireQuantumMemory") (argument_list "(piVar5[9],uVar22)" (( "(") (subscript_expression "piVar5[9]" (identifier "piVar5") ([ "[") (number_literal "9") (] "]")) (, ",") (identifier "uVar22") () ")"))))) (; ";")) (if_statement "if (puVar14 == (uint *)0x0) {\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }\n          else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }" (if "if") (parenthesized_expression "(puVar14 == (uint *)0x0)" (( "(") (binary_expression "puVar14 == (uint *)0x0" (identifier "puVar14") (== "==") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pcVar31 = "MemoryAllocationFailed";\n            uVar30 = 400;\n            uVar19 = 0x38a;\n          }" ({ "{") (expression_statement "pcVar31 = "MemoryAllocationFailed";" (assignment_expression "pcVar31 = "MemoryAllocationFailed"" (identifier "pcVar31") (= "=") (string_literal ""MemoryAllocationFailed"" (" """) (string_content "MemoryAllocationFailed") (" """))) (; ";")) (expression_statement "uVar30 = 400;" (assignment_expression "uVar30 = 400" (identifier "uVar30") (= "=") (number_literal "400")) (; ";")) (expression_statement "uVar19 = 0x38a;" (assignment_expression "uVar19 = 0x38a" (identifier "uVar19") (= "=") (number_literal "0x38a")) (; ";")) (} "}")) (else_clause "else {\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }" (else "else") (compound_statement "{\n            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);\n            fVar3 = DAT_002e814c;\n            fVar2 = DAT_002e8148;\n            iVar20 = piVar5[9];\n            if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }\n            RelinquishMagickMemory(puVar14);\n            pcVar31 = "InsufficientImageDataInFile";\n            uVar30 = 0x1a9;\n            uVar19 = 0x390;\n          }" ({ "{") (expression_statement "iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);" (assignment_expression "iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14)" (identifier "iVar15") (= "=") (call_expression "ReadBlob(piVar5,uVar22 * piVar5[9],puVar14)" (identifier "ReadBlob") (argument_list "(piVar5,uVar22 * piVar5[9],puVar14)" (( "(") (identifier "piVar5") (, ",") (binary_expression "uVar22 * piVar5[9]" (identifier "uVar22") (* "*") (subscript_expression "piVar5[9]" (identifier "piVar5") ([ "[") (number_literal "9") (] "]"))) (, ",") (identifier "puVar14") () ")")))) (; ";")) (expression_statement "fVar3 = DAT_002e814c;" (assignment_expression "fVar3 = DAT_002e814c" (identifier "fVar3") (= "=") (identifier "DAT_002e814c")) (; ";")) (expression_statement "fVar2 = DAT_002e8148;" (assignment_expression "fVar2 = DAT_002e8148" (identifier "fVar2") (= "=") (identifier "DAT_002e8148")) (; ";")) (expression_statement "iVar20 = piVar5[9];" (assignment_expression "iVar20 = piVar5[9]" (identifier "iVar20") (= "=") (subscript_expression "piVar5[9]" (identifier "piVar5") ([ "[") (number_literal "9") (] "]"))) (; ";")) (if_statement "if (uVar22 * iVar20 - iVar15 == 0) {\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }" (if "if") (parenthesized_expression "(uVar22 * iVar20 - iVar15 == 0)" (( "(") (binary_expression "uVar22 * iVar20 - iVar15 == 0" (binary_expression "uVar22 * iVar20 - iVar15" (binary_expression "uVar22 * iVar20" (identifier "uVar22") (* "*") (identifier "iVar20")) (- "-") (identifier "iVar15")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }\n              RelinquishMagickMemory(puVar14);\n              goto LAB_0025ad8a;\n            }" ({ "{") (if_statement "if (iVar6 == 0x10) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }\n              else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" (if "if") (parenthesized_expression "(iVar6 == 0x10)" (( "(") (binary_expression "iVar6 == 0x10" (identifier "iVar6") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }\n              }" ({ "{") (if_statement "if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }" (if "if") (parenthesized_expression "(0 < iVar20)" (( "(") (binary_expression "0 < iVar20" (number_literal "0") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);\n                }" ({ "{") (expression_statement "pdVar17 = (double *)(piVar5[10] + 0x20);" (assignment_expression "pdVar17 = (double *)(piVar5[10] + 0x20)" (identifier "pdVar17") (= "=") (cast_expression "(double *)(piVar5[10] + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5[10] + 0x20)" (( "(") (binary_expression "piVar5[10] + 0x20" (subscript_expression "piVar5[10]" (identifier "piVar5") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "puVar21 = puVar14;" (assignment_expression "puVar21 = puVar14" (identifier "puVar21") (= "=") (identifier "puVar14")) (; ";")) (do_statement "do {\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);" (do "do") (compound_statement "{\n                    puVar23 = (uint *)((int)puVar21 + 6);\n                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);\n                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);\n                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  }" ({ "{") (expression_statement "puVar23 = (uint *)((int)puVar21 + 6);" (assignment_expression "puVar23 = (uint *)((int)puVar21 + 6)" (identifier "puVar23") (= "=") (cast_expression "(uint *)((int)puVar21 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + 6)" (( "(") (binary_expression "(int)puVar21 + 6" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (number_literal "6")) () ")")))) (; ";")) (expression_statement "*pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);" (assignment_expression "*pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" (pointer_expression "*pdVar17" (* "*") (identifier "pdVar17")) (= "=") (cast_expression "(double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8)" (( "(") (binary_expression "(ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8" (binary_expression "(ushort)*puVar21 << 8" (binary_expression "(ushort)*puVar21" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (* "*") (identifier "puVar21")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(ushort)*puVar21 >> 8" (binary_expression "(ushort)*puVar21" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (* "*") (identifier "puVar21")) (>> ">>") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8);" (assignment_expression "pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" (subscript_expression "pdVar17[1]" (identifier "pdVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8)" (( "(") (binary_expression "*(ushort *)((int)puVar21 + 2) << 8 |\n                                                 *(ushort *)((int)puVar21 + 2) >> 8" (binary_expression "*(ushort *)((int)puVar21 + 2) << 8" (pointer_expression "*(ushort *)((int)puVar21 + 2)" (* "*") (cast_expression "(ushort *)((int)puVar21 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + 2)" (( "(") (binary_expression "(int)puVar21 + 2" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (number_literal "2")) () ")")))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "*(ushort *)((int)puVar21 + 2) >> 8" (pointer_expression "*(ushort *)((int)puVar21 + 2)" (* "*") (cast_expression "(ushort *)((int)puVar21 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + 2)" (( "(") (binary_expression "(int)puVar21 + 2" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (number_literal "2")) () ")")))) (>> ">>") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)\n                    ;" (assignment_expression "pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" (subscript_expression "pdVar17[2]" (identifier "pdVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)" (( "(") (binary_expression "(ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8" (binary_expression "(ushort)puVar21[1] << 8" (cast_expression "(ushort)puVar21[1]" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]"))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(ushort)puVar21[1] >> 8" (cast_expression "(ushort)puVar21[1]" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]"))) (>> ">>") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "pdVar17 = pdVar17 + 10;" (assignment_expression "pdVar17 = pdVar17 + 10" (identifier "pdVar17") (= "=") (binary_expression "pdVar17 + 10" (identifier "pdVar17") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" (identifier "puVar21") (= "=") (identifier "puVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uint *)((int)puVar14 + iVar20 * 6) != puVar23)" (( "(") (binary_expression "(uint *)((int)puVar14 + iVar20 * 6) != puVar23" (cast_expression "(uint *)((int)puVar14 + iVar20 * 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + iVar20 * 6)" (( "(") (binary_expression "(int)puVar14 + iVar20 * 6" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (binary_expression "iVar20 * 6" (identifier "iVar20") (* "*") (number_literal "6"))) () ")"))) (!= "!=") (identifier "puVar23")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" (else "else") (if_statement "if (iVar6 == 0x20) {\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }\n              else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" (if "if") (parenthesized_expression "(iVar6 == 0x20)" (( "(") (binary_expression "iVar6 == 0x20" (identifier "iVar6") (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }\n              }" ({ "{") (if_statement "if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }" (if "if") (parenthesized_expression "(0 < iVar20)" (( "(") (binary_expression "0 < iVar20" (number_literal "0") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);\n                }" ({ "{") (expression_statement "pdVar17 = (double *)(piVar5[10] + 0x20);" (assignment_expression "pdVar17 = (double *)(piVar5[10] + 0x20)" (identifier "pdVar17") (= "=") (cast_expression "(double *)(piVar5[10] + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5[10] + 0x20)" (( "(") (binary_expression "piVar5[10] + 0x20" (subscript_expression "piVar5[10]" (identifier "piVar5") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "puVar21 = puVar14;" (assignment_expression "puVar21 = puVar14" (identifier "puVar21") (= "=") (identifier "puVar14")) (; ";")) (do_statement "do {\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while (puVar23 != puVar14 + iVar20 * 3);" (do "do") (compound_statement "{\n                    uVar22 = *puVar21;\n                    puVar23 = puVar21 + 3;\n                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[1];\n                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    uVar22 = puVar21[2];\n                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  }" ({ "{") (expression_statement "uVar22 = *puVar21;" (assignment_expression "uVar22 = *puVar21" (identifier "uVar22") (= "=") (pointer_expression "*puVar21" (* "*") (identifier "puVar21"))) (; ";")) (expression_statement "puVar23 = puVar21 + 3;" (assignment_expression "puVar23 = puVar21 + 3" (identifier "puVar23") (= "=") (binary_expression "puVar21 + 3" (identifier "puVar21") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "*pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);" (assignment_expression "*pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (pointer_expression "*pdVar17" (* "*") (identifier "pdVar17")) (= "=") (cast_expression "(double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (( "(") (binary_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2" (cast_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" (( "(") (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" (identifier "uVar22") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" (( "(") (binary_expression "uVar22 & 0xff0000" (identifier "uVar22") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" (( "(") (binary_expression "uVar22 & 0xff00" (identifier "uVar22") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar22 << 0x18" (identifier "uVar22") (<< "<<") (number_literal "0x18"))) () ")"))) (/ "/") (identifier "fVar2")) () ")")))) (; ";")) (expression_statement "uVar22 = puVar21[1];" (assignment_expression "uVar22 = puVar21[1]" (identifier "uVar22") (= "=") (subscript_expression "puVar21[1]" (identifier "puVar21") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);" (assignment_expression "pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (subscript_expression "pdVar17[1]" (identifier "pdVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (( "(") (binary_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2" (cast_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" (( "(") (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" (identifier "uVar22") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" (( "(") (binary_expression "uVar22 & 0xff0000" (identifier "uVar22") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" (( "(") (binary_expression "uVar22 & 0xff00" (identifier "uVar22") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar22 << 0x18" (identifier "uVar22") (<< "<<") (number_literal "0x18"))) () ")"))) (/ "/") (identifier "fVar2")) () ")")))) (; ";")) (expression_statement "uVar22 = puVar21[2];" (assignment_expression "uVar22 = puVar21[2]" (identifier "uVar22") (= "=") (subscript_expression "puVar21[2]" (identifier "puVar21") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);" (assignment_expression "pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (subscript_expression "pdVar17[2]" (identifier "pdVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2)" (( "(") (binary_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2" (cast_expression "(float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18)" (( "(") (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |\n                                                  (uVar22 & 0xff00) << 8" (binary_expression "uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8" (binary_expression "uVar22 >> 0x18" (identifier "uVar22") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar22 & 0xff0000) >> 8" (parenthesized_expression "(uVar22 & 0xff0000)" (( "(") (binary_expression "uVar22 & 0xff0000" (identifier "uVar22") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar22 & 0xff00) << 8" (parenthesized_expression "(uVar22 & 0xff00)" (( "(") (binary_expression "uVar22 & 0xff00" (identifier "uVar22") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar22 << 0x18" (identifier "uVar22") (<< "<<") (number_literal "0x18"))) () ")"))) (/ "/") (identifier "fVar2")) () ")")))) (; ";")) (expression_statement "pdVar17 = pdVar17 + 10;" (assignment_expression "pdVar17 = pdVar17 + 10" (identifier "pdVar17") (= "=") (binary_expression "pdVar17 + 10" (identifier "pdVar17") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" (identifier "puVar21") (= "=") (identifier "puVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar23 != puVar14 + iVar20 * 3)" (( "(") (binary_expression "puVar23 != puVar14 + iVar20 * 3" (identifier "puVar23") (!= "!=") (binary_expression "puVar14 + iVar20 * 3" (identifier "puVar14") (+ "+") (binary_expression "iVar20 * 3" (identifier "iVar20") (* "*") (number_literal "3")))) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" (else "else") (compound_statement "{\n                if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }\n                if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }\n              }" ({ "{") (if_statement "if (iVar6 != 8) {\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }" (if "if") (parenthesized_expression "(iVar6 != 8)" (( "(") (binary_expression "iVar6 != 8" (identifier "iVar6") (!= "!=") (number_literal "8")) () ")")) (compound_statement "{\n                  RelinquishMagickMemory(puVar14);\n                  pcVar31 = "ImageDepthNotSupported";\n                  uVar30 = 0x1a9;\n                  uVar19 = 0x398;\n                  goto LAB_0025b781;\n                }" ({ "{") (expression_statement "RelinquishMagickMemory(puVar14);" (call_expression "RelinquishMagickMemory(puVar14)" (identifier "RelinquishMagickMemory") (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")"))) (; ";")) (expression_statement "pcVar31 = "ImageDepthNotSupported";" (assignment_expression "pcVar31 = "ImageDepthNotSupported"" (identifier "pcVar31") (= "=") (string_literal ""ImageDepthNotSupported"" (" """) (string_content "ImageDepthNotSupported") (" """))) (; ";")) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" (identifier "uVar30") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar19 = 0x398;" (assignment_expression "uVar19 = 0x398" (identifier "uVar19") (= "=") (number_literal "0x398")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (if_statement "if (0 < iVar20) {\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }" (if "if") (parenthesized_expression "(0 < iVar20)" (( "(") (binary_expression "0 < iVar20" (number_literal "0") (< "<") (identifier "iVar20")) () ")")) (compound_statement "{\n                  pdVar17 = (double *)(piVar5[10] + 0x20);\n                  puVar21 = puVar14;\n                  do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);\n                }" ({ "{") (expression_statement "pdVar17 = (double *)(piVar5[10] + 0x20);" (assignment_expression "pdVar17 = (double *)(piVar5[10] + 0x20)" (identifier "pdVar17") (= "=") (cast_expression "(double *)(piVar5[10] + 0x20)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5[10] + 0x20)" (( "(") (binary_expression "piVar5[10] + 0x20" (subscript_expression "piVar5[10]" (identifier "piVar5") ([ "[") (number_literal "10") (] "]")) (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "puVar21 = puVar14;" (assignment_expression "puVar21 = puVar14" (identifier "puVar21") (= "=") (identifier "puVar14")) (; ";")) (do_statement "do {\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);" (do "do") (compound_statement "{\n                    puVar23 = (uint *)((int)puVar21 + 3);\n                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);\n                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);\n                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);\n                    pdVar17 = pdVar17 + 10;\n                    puVar21 = puVar23;\n                  }" ({ "{") (expression_statement "puVar23 = (uint *)((int)puVar21 + 3);" (assignment_expression "puVar23 = (uint *)((int)puVar21 + 3)" (identifier "puVar23") (= "=") (cast_expression "(uint *)((int)puVar21 + 3)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + 3)" (( "(") (binary_expression "(int)puVar21 + 3" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "*pdVar17 = (double)((float)(byte)*puVar21 * fVar3);" (assignment_expression "*pdVar17 = (double)((float)(byte)*puVar21 * fVar3)" (pointer_expression "*pdVar17" (* "*") (identifier "pdVar17")) (= "=") (cast_expression "(double)((float)(byte)*puVar21 * fVar3)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)(byte)*puVar21 * fVar3)" (( "(") (binary_expression "(float)(byte)*puVar21 * fVar3" (binary_expression "(float)(byte)*puVar21" (cast_expression "(float)(byte)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")"))) (* "*") (identifier "puVar21")) (* "*") (identifier "fVar3")) () ")")))) (; ";")) (expression_statement "pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);" (assignment_expression "pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3)" (subscript_expression "pdVar17[1]" (identifier "pdVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(double)((float)*(byte *)((int)puVar21 + 1) * fVar3)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)*(byte *)((int)puVar21 + 1) * fVar3)" (( "(") (binary_expression "(float)*(byte *)((int)puVar21 + 1) * fVar3" (cast_expression "(float)*(byte *)((int)puVar21 + 1)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(byte *)((int)puVar21 + 1)" (* "*") (cast_expression "(byte *)((int)puVar21 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + 1)" (( "(") (binary_expression "(int)puVar21 + 1" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (number_literal "1")) () ")"))))) (* "*") (identifier "fVar3")) () ")")))) (; ";")) (expression_statement "pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);" (assignment_expression "pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3)" (subscript_expression "pdVar17[2]" (identifier "pdVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(double)((float)*(byte *)((int)puVar21 + 2) * fVar3)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (parenthesized_expression "((float)*(byte *)((int)puVar21 + 2) * fVar3)" (( "(") (binary_expression "(float)*(byte *)((int)puVar21 + 2) * fVar3" (cast_expression "(float)*(byte *)((int)puVar21 + 2)" (( "(") (type_descriptor "float" (primitive_type "float")) () ")") (pointer_expression "*(byte *)((int)puVar21 + 2)" (* "*") (cast_expression "(byte *)((int)puVar21 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar21 + 2)" (( "(") (binary_expression "(int)puVar21 + 2" (cast_expression "(int)puVar21" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar21")) (+ "+") (number_literal "2")) () ")"))))) (* "*") (identifier "fVar3")) () ")")))) (; ";")) (expression_statement "pdVar17 = pdVar17 + 10;" (assignment_expression "pdVar17 = pdVar17 + 10" (identifier "pdVar17") (= "=") (binary_expression "pdVar17 + 10" (identifier "pdVar17") (+ "+") (number_literal "10"))) (; ";")) (expression_statement "puVar21 = puVar23;" (assignment_expression "puVar21 = puVar23" (identifier "puVar21") (= "=") (identifier "puVar23")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uint *)(iVar20 * 3 + (int)puVar14) != puVar23)" (( "(") (binary_expression "(uint *)(iVar20 * 3 + (int)puVar14) != puVar23" (cast_expression "(uint *)(iVar20 * 3 + (int)puVar14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 * 3 + (int)puVar14)" (( "(") (binary_expression "iVar20 * 3 + (int)puVar14" (binary_expression "iVar20 * 3" (identifier "iVar20") (* "*") (number_literal "3")) (+ "+") (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14"))) () ")"))) (!= "!=") (identifier "puVar23")) () ")")) (; ";")) (} "}"))) (} "}")))))) (expression_statement "RelinquishMagickMemory(puVar14);" (call_expression "RelinquishMagickMemory(puVar14)" (identifier "RelinquishMagickMemory") (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")"))) (; ";")) (goto_statement "goto LAB_0025ad8a;" (goto "goto") (statement_identifier "LAB_0025ad8a") (; ";")) (} "}"))) (expression_statement "RelinquishMagickMemory(puVar14);" (call_expression "RelinquishMagickMemory(puVar14)" (identifier "RelinquishMagickMemory") (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")"))) (; ";")) (expression_statement "pcVar31 = "InsufficientImageDataInFile";" (assignment_expression "pcVar31 = "InsufficientImageDataInFile"" (identifier "pcVar31") (= "=") (string_literal ""InsufficientImageDataInFile"" (" """) (string_content "InsufficientImageDataInFile") (" """))) (; ";")) (expression_statement "uVar30 = 0x1a9;" (assignment_expression "uVar30 = 0x1a9" (identifier "uVar30") (= "=") (number_literal "0x1a9")) (; ";")) (expression_statement "uVar19 = 0x390;" (assignment_expression "uVar19 = 0x390" (identifier "uVar19") (= "=") (number_literal "0x390")) (; ";")) (} "}")))) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (labeled_statement "LAB_0025ad8a:\n        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" (statement_identifier "LAB_0025ad8a") (: ":") (if_statement "if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" (if "if") (parenthesized_expression "(((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91]))" (( "(") (binary_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&\n           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])" (parenthesized_expression "((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0))" (( "(") (binary_expression "(*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)" (parenthesized_expression "(*(int *)(param_1 + 0x1bc) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1bc) != 0" (pointer_expression "*(int *)(param_1 + 0x1bc)" (* "*") (cast_expression "(int *)(param_1 + 0x1bc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1bc)" (( "(") (binary_expression "param_1 + 0x1bc" (identifier "param_1") (+ "+") (number_literal "0x1bc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])" (( "(") (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91]" (binary_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U" (parenthesized_expression "(*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28))" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (- "-") (number_literal "1U")) (<= "<=") (cast_expression "(uint)piVar5[0x91]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "piVar5[0x91]" (identifier "piVar5") ([ "[") (number_literal "0x91") (] "]")))) () ")"))) () ")")) (compound_statement "{\n          CloseBlob(piVar5);\n          if (local_3080 != 0) goto LAB_0025b914;\n          goto LAB_0025aeb9;\n        }" ({ "{") (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" (identifier "CloseBlob") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (if_statement "if (local_3080 != 0) goto LAB_0025b914;" (if "if") (parenthesized_expression "(local_3080 != 0)" (( "(") (binary_expression "local_3080 != 0" (identifier "local_3080") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025b914;" (goto "goto") (statement_identifier "LAB_0025b914") (; ";"))) (goto_statement "goto LAB_0025aeb9;" (goto "goto") (statement_identifier "LAB_0025aeb9") (; ";")) (} "}")))) (expression_statement "iVar6 = AcquireMagickResource(10,piVar5[6],0);" (assignment_expression "iVar6 = AcquireMagickResource(10,piVar5[6],0)" (identifier "iVar6") (= "=") (call_expression "AcquireMagickResource(10,piVar5[6],0)" (identifier "AcquireMagickResource") (argument_list "(10,piVar5[6],0)" (( "(") (number_literal "10") (, ",") (subscript_expression "piVar5[6]" (identifier "piVar5") ([ "[") (number_literal "6") (] "]")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }" (if "if") (parenthesized_expression "((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0))" (( "(") (binary_expression "(iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)" (( "(") (comma_expression "iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0" (assignment_expression "iVar6 = AcquireMagickResource(4,piVar5[7],0)" (identifier "iVar6") (= "=") (call_expression "AcquireMagickResource(4,piVar5[7],0)" (identifier "AcquireMagickResource") (argument_list "(4,piVar5[7],0)" (( "(") (number_literal "4") (, ",") (subscript_expression "piVar5[7]" (identifier "piVar5") ([ "[") (number_literal "7") (] "]")) (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          pcVar31 = "WidthOrHeightExceedsLimit";\n          uVar30 = 0x1d1;\n          uVar19 = 0x3db;\n          goto LAB_0025b781;\n        }" ({ "{") (expression_statement "pcVar31 = "WidthOrHeightExceedsLimit";" (assignment_expression "pcVar31 = "WidthOrHeightExceedsLimit"" (identifier "pcVar31") (= "=") (string_literal ""WidthOrHeightExceedsLimit"" (" """) (string_content "WidthOrHeightExceedsLimit") (" """))) (; ";")) (expression_statement "uVar30 = 0x1d1;" (assignment_expression "uVar30 = 0x1d1" (identifier "uVar30") (= "=") (number_literal "0x1d1")) (; ";")) (expression_statement "uVar19 = 0x3db;" (assignment_expression "uVar19 = 0x3db" (identifier "uVar19") (= "=") (number_literal "0x3db")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (expression_statement "iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);" (assignment_expression "iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2)" (identifier "iVar6") (= "=") (call_expression "PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2)" (identifier "PersistPixelCache") (argument_list "(piVar5,local_3020,1,&local_3054,param_2)" (( "(") (identifier "piVar5") (, ",") (identifier "local_3020") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_3054" (& "&") (identifier "local_3054")) (, ",") (identifier "param_2") () ")")))) (; ";")) (if_statement "if (iVar6 == 0) {\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);\n          pcVar31 = "UnableToPersistPixelCache";\n          uVar30 = 0x1bd;\n          uVar19 = 0x3e3;\n          goto LAB_0025b781;\n        }" ({ "{") (expression_statement "SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);" (call_expression "SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2)" (identifier "SetImageExtent") (argument_list "(piVar5,piVar5[6],piVar5[7],param_2)" (( "(") (identifier "piVar5") (, ",") (subscript_expression "piVar5[6]" (identifier "piVar5") ([ "[") (number_literal "6") (] "]")) (, ",") (subscript_expression "piVar5[7]" (identifier "piVar5") ([ "[") (number_literal "7") (] "]")) (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pcVar31 = "UnableToPersistPixelCache";" (assignment_expression "pcVar31 = "UnableToPersistPixelCache"" (identifier "pcVar31") (= "=") (string_literal ""UnableToPersistPixelCache"" (" """) (string_content "UnableToPersistPixelCache") (" """))) (; ";")) (expression_statement "uVar30 = 0x1bd;" (assignment_expression "uVar30 = 0x1bd" (identifier "uVar30") (= "=") (number_literal "0x1bd")) (; ";")) (expression_statement "uVar19 = 0x3e3;" (assignment_expression "uVar19 = 0x3e3" (identifier "uVar19") (= "=") (number_literal "0x3e3")) (; ";")) (goto_statement "goto LAB_0025b781;" (goto "goto") (statement_identifier "LAB_0025b781") (; ";")) (} "}"))) (expression_statement "iVar6 = EOFBlob(piVar5);" (assignment_expression "iVar6 = EOFBlob(piVar5)" (identifier "iVar6") (= "=") (call_expression "EOFBlob(piVar5)" (identifier "EOFBlob") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) {\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piVar18 = __errno_location();\n          uVar19 = GetExceptionMessage(*piVar18);\n          ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);\n          DestroyString(uVar19);\n          CloseBlob(piVar5);\nLAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);\n          goto LAB_0025b79c;\n        }" ({ "{") (expression_statement "piVar18 = __errno_location();" (assignment_expression "piVar18 = __errno_location()" (identifier "piVar18") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar19 = GetExceptionMessage(*piVar18);" (assignment_expression "uVar19 = GetExceptionMessage(*piVar18)" (identifier "uVar19") (= "=") (call_expression "GetExceptionMessage(*piVar18)" (identifier "GetExceptionMessage") (argument_list "(*piVar18)" (( "(") (pointer_expression "*piVar18" (* "*") (identifier "piVar18")) () ")")))) (; ";")) (expression_statement "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19);" (call_expression "ThrowMagickException\n                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19)" (identifier "ThrowMagickException") (argument_list "(param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",\n                     "\'%s\': %s",piVar5 + 0xc6,uVar19)" (( "(") (identifier "param_2") (, ",") (string_literal ""coders/mpc.c"" (" """) (string_content "coders/mpc.c") (" """)) (, ",") (string_literal ""ReadMPCImage"" (" """) (string_content "ReadMPCImage") (" """)) (, ",") (number_literal "1000") (, ",") (number_literal "0x1a9") (, ",") (string_literal ""UnexpectedEndOfFile"" (" """) (string_content "UnexpectedEndOfFile") (" """)) (, ",") (string_literal ""\'%s\': %s"" (" """) (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ": %s") (" """)) (, ",") (binary_expression "piVar5 + 0xc6" (identifier "piVar5") (+ "+") (number_literal "0xc6")) (, ",") (identifier "uVar19") () ")"))) (; ";")) (expression_statement "DestroyString(uVar19);" (call_expression "DestroyString(uVar19)" (identifier "DestroyString") (argument_list "(uVar19)" (( "(") (identifier "uVar19") () ")"))) (; ";")) (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" (identifier "CloseBlob") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (labeled_statement "LAB_0025b914:\n          uVar19 = GetFirstImageInList(piVar5);" (statement_identifier "LAB_0025b914") (: ":") (expression_statement "uVar19 = GetFirstImageInList(piVar5);" (assignment_expression "uVar19 = GetFirstImageInList(piVar5)" (identifier "uVar19") (= "=") (call_expression "GetFirstImageInList(piVar5)" (identifier "GetFirstImageInList") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";"))) (goto_statement "goto LAB_0025b79c;" (goto "goto") (statement_identifier "LAB_0025b79c") (; ";")) (} "}"))) (while_statement "while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {\n          if (iVar6 == -1) goto LAB_0025b908;\n        }" (while "while") (parenthesized_expression "(iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6])" (( "(") (comma_expression "iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (, ",") (binary_expression "-1 < (short)(*ppuVar7)[iVar6]" (number_literal "-1") (< "<") (cast_expression "(short)(*ppuVar7)[iVar6]" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (subscript_expression "(*ppuVar7)[iVar6]" (parenthesized_expression "(*ppuVar7)" (( "(") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7")) () ")")) ([ "[") (identifier "iVar6") (] "]"))))) () ")")) (compound_statement "{\n          if (iVar6 == -1) goto LAB_0025b908;\n        }" ({ "{") (if_statement "if (iVar6 == -1) goto LAB_0025b908;" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0025b908;" (goto "goto") (statement_identifier "LAB_0025b908") (; ";"))) (} "}"))) (if_statement "if (iVar6 == -1) {\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }" (if "if") (parenthesized_expression "(iVar6 == -1)" (( "(") (binary_expression "iVar6 == -1" (identifier "iVar6") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\nLAB_0025b908:\n          CloseBlob(piVar5);\n          goto LAB_0025b914;\n        }" ({ "{") (labeled_statement "LAB_0025b908:\n          CloseBlob(piVar5);" (statement_identifier "LAB_0025b908") (: ":") (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" (identifier "CloseBlob") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";"))) (goto_statement "goto LAB_0025b914;" (goto "goto") (statement_identifier "LAB_0025b914") (; ";")) (} "}"))) (expression_statement "AcquireNextImage(param_1,piVar5,param_2);" (call_expression "AcquireNextImage(param_1,piVar5,param_2)" (identifier "AcquireNextImage") (argument_list "(param_1,piVar5,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "piVar5") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "iVar20 = GetNextImageInList(piVar5);" (assignment_expression "iVar20 = GetNextImageInList(piVar5)" (identifier "iVar20") (= "=") (call_expression "GetNextImageInList(piVar5)" (identifier "GetNextImageInList") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (if_statement "if (iVar20 == 0) break;" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar5 = (int *)SyncNextImageInList(piVar5);" (assignment_expression "piVar5 = (int *)SyncNextImageInList(piVar5)" (identifier "piVar5") (= "=") (cast_expression "(int *)SyncNextImageInList(piVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "SyncNextImageInList(piVar5)" (identifier "SyncNextImageInList") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))))) (; ";")) (expression_statement "uVar28 = GetBlobSize(piVar5);" (assignment_expression "uVar28 = GetBlobSize(piVar5)" (identifier "uVar28") (= "=") (call_expression "GetBlobSize(piVar5)" (identifier "GetBlobSize") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "uVar29 = TellBlob(piVar5);" (assignment_expression "uVar29 = TellBlob(piVar5)" (identifier "uVar29") (= "=") (call_expression "TellBlob(piVar5)" (identifier "TellBlob") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);" (assignment_expression "local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28)" (identifier "local_3080") (= "=") (call_expression "SetImageProgress(piVar5,"Load/Images",uVar29,uVar28)" (identifier "SetImageProgress") (argument_list "(piVar5,"Load/Images",uVar29,uVar28)" (( "(") (identifier "piVar5") (, ",") (string_literal ""Load/Images"" (" """) (string_content "Load/Images") (" """)) (, ",") (identifier "uVar29") (, ",") (identifier "uVar28") () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_3080 != 0)" (( "(") (binary_expression "local_3080 != 0" (identifier "local_3080") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "CloseBlob(piVar5);" (call_expression "CloseBlob(piVar5)" (identifier "CloseBlob") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")"))) (; ";")) (labeled_statement "LAB_0025aeb9:\n      uVar19 = DestroyImageList(piVar5);" (statement_identifier "LAB_0025aeb9") (: ":") (expression_statement "uVar19 = DestroyImageList(piVar5);" (assignment_expression "uVar19 = DestroyImageList(piVar5)" (identifier "uVar19") (= "=") (call_expression "DestroyImageList(piVar5)" (identifier "DestroyImageList") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";"))) (} "}")))) (} "}")))) (labeled_statement "LAB_0025b79c:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\n  }" (statement_identifier "LAB_0025b79c") (: ":") (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return uVar19;\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    return uVar19;\n  }" ({ "{") (return_statement "return uVar19;" (return "return") (identifier "uVar19") (; ";")) (} "}")))) (expression_statement "FUN_002decd0();" (call_expression "FUN_002decd0()" (identifier "FUN_002decd0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0025b6e0:\n  *pcVar31 = '\0';" (statement_identifier "LAB_0025b6e0") (: ":") (expression_statement "*pcVar31 = '\0';" (assignment_expression "*pcVar31 = '\0'" (pointer_expression "*pcVar31" (* "*") (identifier "pcVar31")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (expression_statement "SetImageProperty(piVar5,"comment",pcVar10,param_2);" (call_expression "SetImageProperty(piVar5,"comment",pcVar10,param_2)" (identifier "SetImageProperty") (argument_list "(piVar5,"comment",pcVar10,param_2)" (( "(") (identifier "piVar5") (, ",") (string_literal ""comment"" (" """) (string_content "comment") (" """)) (, ",") (identifier "pcVar10") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "DestroyString(pcVar10);" (call_expression "DestroyString(pcVar10)" (identifier "DestroyString") (argument_list "(pcVar10)" (( "(") (identifier "pcVar10") () ")"))) (; ";")) (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (labeled_statement "LAB_0025ac68:\n  puVar8 = *ppuVar7;" (statement_identifier "LAB_0025ac68") (: ":") (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" (identifier "puVar8") (= "=") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";"))) (expression_statement "uVar1 = puVar8[iVar6];" (assignment_expression "uVar1 = puVar8[iVar6]" (identifier "uVar1") (= "=") (subscript_expression "puVar8[iVar6]" (identifier "puVar8") ([ "[") (identifier "iVar6") (] "]"))) (; ";")) (if_statement "if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;" (if "if") (parenthesized_expression "((uVar1 & 0x2000) == 0)" (( "(") (binary_expression "(uVar1 & 0x2000) == 0" (parenthesized_expression "(uVar1 & 0x2000)" (( "(") (binary_expression "uVar1 & 0x2000" (identifier "uVar1") (& "&") (number_literal "0x2000")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0025ab3f;" (goto "goto") (statement_identifier "LAB_0025ab3f") (; ";"))) (do_statement "do {\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  } while ((uVar1 & 0x2000) != 0);" (do "do") (compound_statement "{\n    iVar6 = ReadBlobByte(piVar5);\n    puVar8 = *ppuVar7;\n    uVar1 = puVar8[iVar6];\n  }" ({ "{") (expression_statement "iVar6 = ReadBlobByte(piVar5);" (assignment_expression "iVar6 = ReadBlobByte(piVar5)" (identifier "iVar6") (= "=") (call_expression "ReadBlobByte(piVar5)" (identifier "ReadBlobByte") (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (; ";")) (expression_statement "puVar8 = *ppuVar7;" (assignment_expression "puVar8 = *ppuVar7" (identifier "puVar8") (= "=") (pointer_expression "*ppuVar7" (* "*") (identifier "ppuVar7"))) (; ";")) (expression_statement "uVar1 = puVar8[iVar6];" (assignment_expression "uVar1 = puVar8[iVar6]" (identifier "uVar1") (= "=") (subscript_expression "puVar8[iVar6]" (identifier "puVar8") ([ "[") (identifier "iVar6") (] "]"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uVar1 & 0x2000) != 0)" (( "(") (binary_expression "(uVar1 & 0x2000) != 0" (parenthesized_expression "(uVar1 & 0x2000)" (( "(") (binary_expression "uVar1 & 0x2000" (identifier "uVar1") (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (; ";")) (if_statement "if (iVar6 == 0x3a) goto LAB_0025aca4;" (if "if") (parenthesized_expression "(iVar6 == 0x3a)" (( "(") (binary_expression "iVar6 == 0x3a" (identifier "iVar6") (== "==") (number_literal "0x3a")) () ")")) (goto_statement "goto LAB_0025aca4;" (goto "goto") (statement_identifier "LAB_0025aca4") (; ";"))) (goto_statement "goto LAB_0025ab48;" (goto "goto") (statement_identifier "LAB_0025ab48") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "ChannelType": Some values do not have unique names */
/* WARNING: Enum "GravityType": Some values do not have unique names */
/* WARNING: Enum "DisposeType": Some values do not have unique names */
/* WARNING: Enum "PixelChannel": Some values do not have unique names */
/* WARNING: Enum "ExceptionType": Some values do not have unique names */
/* WARNING: Enum "LogEventType": Some values do not have unique names */
/* WARNING: Enum "ComplianceType": Some values do not have unique names */

type_1 * function_1(type_2 *var_2,type_3 *var_6)

{
  type_4 var_28;
  int var_94;
  size_t var_69;
  float var_77;
  float var_79;
  type_5 *relinquish_value;
  type_1 *pIVar6;
  int var_14;
  type_4 **ppuVar8;
  type_4 *puVar9;
  type_6 var_34;
  type_7 var_53;
  size_t var_68;
  type_8 var_81;
  type_1 *var_90;
  type_9 RVar15;
  type_10 IVar16;
  type_11 var_40;
  type_12 OVar18;
  type_13 DVar19;
  type_14 PVar20;
  char *var_24;
  size_t var_26;
  type_15 *var_60;
  type_16 *data;
  type_7 var_63;
  type_17 *var_71;
  type_7 *var_72;
  ssize_t var_73;
  long lVar25;
  type_18 CVar26;
  type_19 EVar27;
  type_20 PVar28;
  type_21 RVar29;
  type_22 CVar30;
  type_23 CVar31;
  type_24 *var_75;
  int *piVar33;
  char *var_17;
  int var_16;
  type_7 *var_74;
  type_7 *var_76;
  char *var_22;
  int var_1;
  type_25 bVar39;
  type_26 var_58;
  type_27 offset_00;
  double dVar41;
  type_28 severity;
  char *var_30;
  char *var_29;
  type_29 *var_41;
  type_8 var_9;
  type_7 var_52;
  type_27 offset;
  type_30 geometry_info;
  char cache_filename [4096];
  char id [4096];
  char keyword [4096];
  
  bVar39 = 0;
  var_94 = *(int *)(var_1 + 0x14);
  if (var_2 == (type_2 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");
  }
  if (var_2->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")
    ;
  }
  if (var_2->debug != var_4) {
    var_5(TraceEvent,"coders/mpc.c","ReadMPCImage",0xc5,"%s",var_2->filename);
  }
  if (var_6 == (type_3 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_3("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");
  }
  if (var_6->signature != 0xabacadab) {
                    /* WARNING: Subroutine does not return */
    var_3("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");
  }
  pIVar6 = var_7(var_2,var_6);
  var_9 = var_8(var_2,pIVar6,ReadBinaryBlobMode,var_6);
  if (var_9 == var_4) {
    var_10(pIVar6);
    pIVar6 = (type_1 *)0x0;
  }
  else {
    var_11(cache_filename,pIVar6->filename,0xffa);
    var_12("cache",cache_filename);
    var_14 = var_13(pIVar6);
    if (var_14 == -1) {
      var_15(pIVar6);
      pIVar6 = (type_1 *)0x0;
    }
    else {
      id[0] = '\0';
      var_17 = keyword;
      for (var_16 = 0x400; var_16 != 0; var_16 = var_16 + -1) {
        var_17[0] = '\0';
        var_17[1] = '\0';
        var_17[2] = '\0';
        var_17[3] = '\0';
        var_17 = var_17 + (type_7)bVar39 * -8 + 4;
      }
      offset._0_4_ = 0;
      offset._4_4_ = 0;
      ppuVar8 = var_18();
      relinquish_value = PTR_RelinquishMagickMemory_0041dfd8;
      do {
        var_19(&geometry_info);
        var_29 = var_20((char *)0x0);
        var_52 = var_21((type_15 *)0x0);
        pIVar6->depth = 8;
        puVar9 = *ppuVar8;
        pIVar6->compression = NoCompression;
        var_28 = puVar9[var_14];
        var_41 = (type_29 *)0x0;
LAB_0025ab3f:
        if (var_14 != 0x3a) {
LAB_0025ab48:
          var_17 = var_29;
          if (-1 < (short)var_28) goto LAB_0025aca4;
          if (var_14 == 0x7b) {
            var_17 = var_20((char *)0x0);
            if (var_17 != (char *)0x0) {
              var_22 = (char *)0x1000;
              var_24 = var_17;
              do {
                var_14 = var_13(pIVar6);
                if (var_14 == 0x5c) {
                  var_14 = var_13(pIVar6);
                }
                else if ((var_14 == -1) || (var_14 == 0x7d)) goto LAB_0025b6e0;
                if (var_17 + (1 - (int)var_24) < var_22) {
                  *var_17 = (char)var_14;
                  var_17 = var_17 + 1;
                }
                else {
                  var_22 = (char *)((int)var_22 * 2);
                  *var_17 = '\0';
                  var_24 = (char *)var_23(var_24,(size_t)(var_22 + 0x1000),1);
                  if (var_24 == (char *)0x0) break;
                  var_26 = var_25(var_24);
                  var_17 = var_24 + var_26 + 1;
                  var_24[var_26] = (char)var_14;
                }
              } while( true );
            }
            var_27(var_29);
            var_17 = "MemoryAllocationFailed";
            severity = ErrorException;
            var_68 = 0x10e;
            goto LAB_0025b781;
          }
          if ((var_28 & 8) == 0) {
            var_14 = var_13(pIVar6);
          }
          else {
            var_22 = keyword;
            if (var_14 == 0x3d) {
              var_16 = 0x7a;
            }
            else {
              do {
                if ((type_7)((int)var_22 - (int)keyword) < 0xfff) {
                  *var_22 = (char)var_14;
                  var_22 = var_22 + 1;
                }
                var_14 = var_13(pIVar6);
                if (var_14 == -1) {
                  var_16 = -2;
                  puVar9 = *ppuVar8;
                  goto LAB_0025abb9;
                }
              } while (var_14 != 0x3d);
              var_16 = 0x7a;
              puVar9 = *ppuVar8;
            }
LAB_0025abb9:
            *var_22 = '\0';
            if ((*(type_4 *)((int)puVar9 + var_16) & 0x2000) != 0) {
              do {
                var_14 = var_13(pIVar6);
              } while ((*(type_25 *)((int)*ppuVar8 + var_14 * 2 + 1) & 0x20) != 0);
            }
            var_30 = var_29;
            if (var_14 == 0x3d) {
              var_14 = var_13(pIVar6);
              var_29 = (char *)0xfff;
              var_30 = var_17;
              do {
                if ((var_14 == 0x7d) || (var_14 == -1)) {
                  if (var_17 == (char *)0x0) {
LAB_0025b8e1:
                    var_17 = "MemoryAllocationFailed";
                    severity = ErrorException;
                    var_68 = 0x14c;
                    goto LAB_0025b781;
                  }
                  break;
                }
                if (var_29 <= var_30 + (1 - (int)var_17)) {
                  var_29 = (char *)((int)var_29 * 2);
                  *var_30 = '\0';
                  var_17 = (char *)var_23(var_17,(size_t)(var_29 + 0x1000),1);
                  if (var_17 == (char *)0x0) goto LAB_0025b8e1;
                  var_26 = var_25(var_17);
                  var_30 = var_17 + var_26;
                }
                *var_30 = (char)var_14;
                var_14 = var_13(pIVar6);
                var_22 = var_30 + 1;
                if ((var_14 == 0x5c) && (var_14 = var_13(pIVar6), var_14 == 0x7d)) {
                  var_30[1] = '}';
                  var_14 = var_13(pIVar6);
                  var_22 = var_30 + 2;
                }
                var_30 = var_22;
              } while ((*var_17 == '{') || ((*(type_25 *)((int)*ppuVar8 + var_14 * 2 + 1) & 0x20) == 0)
                      );
            }
            var_29 = var_17;
            *var_30 = '\0';
            if (*var_29 == '{') {
              var_26 = var_25(var_29);
              var_11(var_29,var_29 + 1,var_26);
            }
            switch(keyword[0]) {
            case 'A':
            case 'a':
              var_16 = var_31(keyword,"alpha-trait");
              if (var_16 != 0) goto _L42;
              PVar20 = var_32(MagickPixelTraitOptions,var_4,var_29);
              if (-1 < (int)PVar20) {
                pIVar6->alpha_trait = PVar20;
              }
              break;
            case 'B':
            case 'b':
              var_16 = var_31(keyword,"background-color");
              if (var_16 == 0) {
                var_71 = &pIVar6->background_color;
              }
              else {
                var_16 = var_31(keyword,"blue-primary");
                if (var_16 == 0) {
                  var_34 = var_33(var_29,&geometry_info);
                  (pIVar6->chromaticity).blue_primary.x = geometry_info.rho;
                  if ((var_34 & 8) == 0) {
                    (pIVar6->chromaticity).blue_primary.y = geometry_info.rho;
                  }
                  else {
                    (pIVar6->chromaticity).blue_primary.y = geometry_info.sigma;
                  }
                  break;
                }
                var_16 = var_31(keyword,"border-color");
                if (var_16 != 0) goto _L42;
                var_71 = &pIVar6->border_color;
              }
LAB_0025b456:
              var_35(var_29,AllCompliance,var_71,var_6);
              break;
            case 'C':
            case 'c':
              var_16 = var_31(keyword,"class");
              if (var_16 == 0) {
                CVar26 = var_32(MagickClassOptions,var_4,var_29);
                if (-1 < (int)CVar26) {
                  pIVar6->storage_class = CVar26;
                }
              }
              else {
                var_16 = var_31(keyword,"colors");
                if (var_16 == 0) {
                  var_40 = var_36(var_29,(char **)0x0,10);
                  pIVar6->colors = var_40;
                }
                else {
                  var_16 = var_31(keyword,"colorspace");
                  if (var_16 == 0) {
                    CVar31 = var_32(MagickColorspaceOptions,var_4,var_29);
                    if (-1 < (int)CVar31) {
                      pIVar6->colorspace = CVar31;
                    }
                  }
                  else {
                    var_16 = var_31(keyword,"compression");
                    if (var_16 == 0) {
                      CVar30 = var_32(MagickCompressOptions,var_4,var_29);
                      if (-1 < (int)CVar30) {
                        pIVar6->compression = CVar30;
                      }
                    }
                    else {
                      var_16 = var_31(keyword,"columns");
                      if (var_16 != 0) goto _L42;
                      var_40 = var_36(var_29,(char **)0x0,10);
                      pIVar6->columns = var_40;
                    }
                  }
                }
              }
              break;
            case 'D':
            case 'd':
              var_16 = var_31(keyword,"delay");
              if (var_16 == 0) {
                var_40 = var_36(var_29,(char **)0x0,10);
                pIVar6->delay = var_40;
              }
              else {
                var_16 = var_31(keyword,"depth");
                if (var_16 == 0) {
                  var_40 = var_36(var_29,(char **)0x0,10);
                  pIVar6->depth = var_40;
                }
                else {
                  var_16 = var_31(keyword,"dispose");
                  if (var_16 != 0) goto _L42;
                  DVar19 = var_32(MagickDisposeOptions,var_4,var_29);
                  if (-1 < (int)DVar19) {
                    pIVar6->dispose = DVar19;
                  }
                }
              }
              break;
            case 'E':
            case 'e':
              var_16 = var_31(keyword,"endian");
              if (var_16 == 0) {
                EVar27 = var_32(MagickEndianOptions,var_4,var_29);
                if (-1 < (int)EVar27) {
                  pIVar6->endian = EVar27;
                }
              }
              else {
                var_16 = var_31(keyword,"error");
                if (var_16 != 0) goto _L42;
                dVar41 = var_37(var_29,(char **)0x0);
                (pIVar6->error).mean_error_per_pixel = dVar41;
              }
              break;
            default:
_L42:
              var_38(pIVar6,keyword,var_29,var_6);
              break;
            case 'G':
            case 'g':
              var_16 = var_31(keyword,"gamma");
              if (var_16 == 0) {
                dVar41 = var_37(var_29,(char **)0x0);
                pIVar6->gamma = dVar41;
              }
              else {
                var_16 = var_31(keyword,"green-primary");
                if (var_16 != 0) goto _L42;
                var_34 = var_33(var_29,&geometry_info);
                (pIVar6->chromaticity).green_primary.x = geometry_info.rho;
                if ((var_34 & 8) == 0) {
                  (pIVar6->chromaticity).green_primary.y = geometry_info.rho;
                }
                else {
                  (pIVar6->chromaticity).green_primary.y = geometry_info.sigma;
                }
              }
              break;
            case 'I':
            case 'i':
              var_16 = var_31(keyword,"id");
              if (var_16 == 0) {
                var_11(id,var_29,0x1000);
              }
              else {
                var_16 = var_31(keyword,"iterations");
                if (var_16 != 0) goto _L42;
                var_40 = var_36(var_29,(char **)0x0,10);
                pIVar6->iterations = var_40;
              }
              break;
            case 'M':
            case 'm':
              var_16 = var_31(keyword,"magick-signature");
              if (var_16 == 0) {
                var_52 = var_36(var_29,(char **)0x0,10);
              }
              else {
                var_16 = var_31(keyword,"mattecolor");
                if (var_16 == 0) {
                  var_71 = &pIVar6->matte_color;
                  goto LAB_0025b456;
                }
                var_16 = var_31(keyword,"maximum-error");
                if (var_16 == 0) {
                  dVar41 = var_37(var_29,(char **)0x0);
                  (pIVar6->error).normalized_maximum_error = dVar41;
                }
                else {
                  var_16 = var_31(keyword,"mean-error");
                  if (var_16 == 0) {
                    dVar41 = var_37(var_29,(char **)0x0);
                    (pIVar6->error).normalized_mean_error = dVar41;
                  }
                  else {
                    var_16 = var_31(keyword,"montage");
                    if (var_16 != 0) goto _L42;
                    var_39(&pIVar6->montage,var_29);
                  }
                }
              }
              break;
            case 'N':
            case 'n':
              var_16 = var_31(keyword,"number-channels");
              if (var_16 == 0) {
                var_40 = var_36(var_29,(char **)0x0,10);
                pIVar6->number_channels = var_40;
              }
              else {
                var_16 = var_31(keyword,"number-meta-channels");
                if (var_16 == 0) {
                  var_40 = var_36(var_29,(char **)0x0,10);
                  pIVar6->number_meta_channels = var_40;
                  if (0x40 < var_40) {
                    if (var_41 != (type_29 *)0x0) {
                      var_42(var_41,
                                        (type_31 *)
                                        PTR_RelinquishMagickMemory_0041dfd8);
                    }
                    var_27(var_29);
                    var_17 = "ImproperImageHeader";
                    severity = CorruptImageError;
                    var_68 = 0x245;
                    goto LAB_0025b781;
                  }
                }
              }
              break;
            case 'O':
            case 'o':
              var_16 = var_31(keyword,"orientation");
              if (var_16 != 0) goto _L42;
              OVar18 = var_32(MagickOrientationOptions,var_4,var_29);
              if (-1 < (int)OVar18) {
                pIVar6->orientation = OVar18;
              }
              break;
            case 'P':
            case 'p':
              var_16 = var_31(keyword,"page");
              if (var_16 == 0) {
                var_17 = var_43(var_29);
                var_44(var_17,&pIVar6->page);
                var_27(var_17);
              }
              else {
                var_16 = var_31(keyword,"pixel-intensity");
                if (var_16 == 0) {
                  PVar28 = var_32(MagickPixelIntensityOptions,var_4,var_29);
                  if (-1 < (int)PVar28) {
                    pIVar6->intensity = PVar28;
                  }
                }
                else {
                  var_16 = var_31(keyword,"profile");
                  if (var_16 != 0) goto _L42;
                  if (var_41 == (type_29 *)0x0) {
                    var_41 = var_45(0);
                  }
                  var_17 = var_20(var_29);
                  var_46(var_41,var_17);
                }
              }
              break;
            case 'Q':
            case 'q':
              var_16 = var_31(keyword,"quality");
              if (var_16 != 0) goto _L42;
              var_40 = var_36(var_29,(char **)0x0,10);
              pIVar6->quality = var_40;
              break;
            case 'R':
            case 'r':
              var_16 = var_31(keyword,"red-primary");
              if (var_16 == 0) {
                var_34 = var_33(var_29,&geometry_info);
                (pIVar6->chromaticity).red_primary.x = geometry_info.rho;
                if ((var_34 & 8) != 0) {
                  (pIVar6->chromaticity).red_primary.y = geometry_info.sigma;
                }
              }
              else {
                var_16 = var_31(keyword,"rendering-intent");
                if (var_16 == 0) {
                  RVar29 = var_32(MagickIntentOptions,var_4,var_29);
                  if (-1 < (int)RVar29) {
                    pIVar6->rendering_intent = RVar29;
                  }
                }
                else {
                  var_16 = var_31(keyword,"resolution");
                  if (var_16 == 0) {
                    var_34 = var_33(var_29,&geometry_info);
                    (pIVar6->resolution).x = geometry_info.rho;
                    if ((var_34 & 8) == 0) {
                      (pIVar6->resolution).y = geometry_info.rho;
                    }
                    else {
                      (pIVar6->resolution).y = geometry_info.sigma;
                    }
                  }
                  else {
                    var_16 = var_31(keyword,"rows");
                    if (var_16 != 0) goto _L42;
                    var_40 = var_36(var_29,(char **)0x0,10);
                    pIVar6->rows = var_40;
                  }
                }
              }
              break;
            case 'S':
            case 's':
              var_16 = var_31(keyword,"scene");
              if (var_16 != 0) goto _L42;
              var_40 = var_36(var_29,(char **)0x0,10);
              pIVar6->scene = var_40;
              break;
            case 'T':
            case 't':
              var_16 = var_31(keyword,"ticks-per-second");
              if (var_16 == 0) {
                lVar25 = var_47(var_29,(char **)0x0,10);
                pIVar6->ticks_per_second = lVar25;
              }
              else {
                var_16 = var_31(keyword,"tile-offset");
                if (var_16 == 0) {
                  var_17 = var_43(var_29);
                  var_44(var_17,&pIVar6->tile_offset);
                  var_27(var_17);
                }
                var_16 = var_31(keyword,"type");
                if (var_16 != 0) goto _L42;
                IVar16 = var_32(MagickTypeOptions,var_4,var_29);
                if (-1 < (int)IVar16) {
                  pIVar6->type = IVar16;
                }
              }
              break;
            case 'U':
            case 'u':
              var_16 = var_31(keyword,"units");
              if (var_16 != 0) goto _L42;
              RVar15 = var_32(MagickResolutionOptions,var_4,var_29);
              if (-1 < (int)RVar15) {
                pIVar6->units = RVar15;
              }
              break;
            case 'W':
            case 'w':
              var_16 = var_31(keyword,"white-point");
              if (var_16 != 0) goto _L42;
              var_34 = var_33(var_29,&geometry_info);
              (pIVar6->chromaticity).white_point.x = geometry_info.rho;
              if ((var_34 & 8) == 0) {
                (pIVar6->chromaticity).white_point.y = geometry_info.rho;
              }
              else {
                (pIVar6->chromaticity).white_point.y = geometry_info.sigma;
              }
            }
          }
          goto LAB_0025ac68;
        }
LAB_0025aca4:
        var_27(var_29);
        var_13(pIVar6);
        var_14 = var_31(id,"MagickPixelCache");
        if (((((var_14 != 0) || (pIVar6->storage_class == var_48)) ||
             (pIVar6->compression == var_49)) ||
            (((pIVar6->columns == 0 || (pIVar6->rows == 0)) ||
             ((0x40 < pIVar6->number_channels ||
              ((0x38 < pIVar6->number_meta_channels ||
               (0x3f < pIVar6->number_channels + pIVar6->number_meta_channels)))))))) ||
           (0x3f < pIVar6->depth - 1)) {
          if (var_41 != (type_29 *)0x0) {
            var_42(var_41,
                              (type_31 *)PTR_RelinquishMagickMemory_0041dfd8);
          }
          var_17 = "ImproperImageHeader";
          severity = CorruptImageError;
          var_68 = 0x31d;
LAB_0025b781:
          var_50
                    (var_6,"coders/mpc.c","ReadMPCImage",var_68,severity,var_17,"`%s\'",
                     var_2->filename);
          var_51(pIVar6);
          var_10(pIVar6);
          pIVar6 = (type_1 *)0x0;
          goto LAB_0025b79c;
        }
        var_53 = var_21((type_15 *)0x0);
        if (var_52 != var_53) {
          if (var_41 != (type_29 *)0x0) {
            var_42(var_41,
                              (type_31 *)PTR_RelinquishMagickMemory_0041dfd8);
          }
          var_17 = "IncompatibleAPI";
          severity = CacheError;
          var_68 = 0x323;
          goto LAB_0025b781;
        }
        if (pIVar6->montage != (char *)0x0) {
          var_14 = 0;
          var_17 = var_20((char *)0x0);
          pIVar6->directory = var_17;
          var_30 = (char *)0x1000;
          do {
            *var_17 = '\0';
            var_22 = var_17;
            if (var_30 <= var_14 + 0x1000U) {
              var_30 = (char *)((int)var_30 * 2);
              var_17 = (char *)var_23(pIVar6->directory,(int)var_30 + 0x1000,1);
              pIVar6->directory = var_17;
              if (var_17 == (char *)0x0) {
                if (var_41 != (type_29 *)0x0) {
                  var_42(var_41,
                                    (type_31 *)PTR_RelinquishMagickMemory_0041dfd8);
                }
                var_17 = "UnableToReadImageData";
                severity = CorruptImageError;
                var_68 = 0x341;
                goto LAB_0025b781;
              }
              var_22 = var_17 + var_14;
            }
            var_16 = var_13(pIVar6);
            if (var_16 == -1) break;
            var_17 = var_22 + 1;
            *var_22 = (char)var_16;
            var_14 = var_14 + 1;
          } while (var_16 != 0);
        }
        if (var_41 != (type_29 *)0x0) {
          var_54(var_41);
          var_30 = (char *)var_55(var_41);
          if (var_30 != (char *)0x0) {
            while( true ) {
              var_53 = var_56(pIVar6);
              var_58 = var_57(pIVar6);
              if ((((int)(var_58 >> 0x20) == 0) && ((type_7)var_58 < var_53)) ||
                 (var_60 = var_59(var_53), var_60 == (type_15 *)0x0))
              goto LAB_0025ba84;
              data = var_61(var_60);
              var_63 = var_62(pIVar6,var_53,data);
              if (var_53 != var_63) break;
              var_9 = var_64(pIVar6,var_30,var_60,var_6);
              var_65(var_60);
              if ((var_9 == var_4) ||
                 (var_30 = (char *)var_55(var_41),
                 var_30 == (char *)0x0)) goto LAB_0025ba84;
            }
            var_65(var_60);
          }
LAB_0025ba84:
          var_42(var_41,(type_31 *)relinquish_value);
        }
        var_68 = var_66(pIVar6,var_4);
        if (pIVar6->storage_class != var_67) goto LAB_0025ad8a;
        var_53 = var_68 * 3 >> 3;
        var_69 = pIVar6->colors;
        var_58 = var_57(pIVar6);
        if (((int)(var_58 >> 0x20) == 0) && ((type_7)var_58 < var_53 * var_69)) {
          var_17 = "InsufficientImageDataInFile";
          severity = CorruptImageError;
          var_68 = 0x37d;
          goto LAB_0025b781;
        }
        var_71 = (type_17 *)var_70(pIVar6->colors + 1,0x50);
        pIVar6->colormap = var_71;
        if (var_71 == (type_17 *)0x0) {
          var_17 = "MemoryAllocationFailed";
          severity = ErrorException;
          var_68 = 0x381;
          goto LAB_0025b781;
        }
        if (pIVar6->colors != 0) {
          var_72 = (type_7 *)var_70(pIVar6->colors,var_53);
          if (var_72 == (type_7 *)0x0) {
            var_17 = "MemoryAllocationFailed";
            severity = ErrorException;
            var_68 = 0x38a;
          }
          else {
            var_73 = var_62(pIVar6,var_53 * pIVar6->colors,var_72);
            var_79 = DAT_002e814c;
            var_77 = DAT_002e8148;
            var_69 = pIVar6->colors;
            if (var_53 * var_69 - var_73 == 0) {
              if (var_68 == 0x10) {
                if (0 < (int)var_69) {
                  var_75 = &pIVar6->colormap->red;
                  var_74 = var_72;
                  do {
                    var_76 = (type_7 *)((int)var_74 + 6);
                    *var_75 = (double)(type_4)((type_4)*var_74 << 8 | (type_4)*var_74 >> 8);
                    var_75[1] = (double)(type_4)(*(type_4 *)((int)var_74 + 2) << 8 |
                                                 *(type_4 *)((int)var_74 + 2) >> 8);
                    var_75[2] = (double)(type_4)((type_4)var_74[1] << 8 | (type_4)var_74[1] >> 8)
                    ;
                    var_75 = var_75 + 10;
                    var_74 = var_76;
                  } while ((type_7 *)((int)var_72 + var_69 * 6) != var_76);
                }
              }
              else if (var_68 == 0x20) {
                if (0 < (int)var_69) {
                  var_75 = &pIVar6->colormap->red;
                  var_74 = var_72;
                  do {
                    var_53 = *var_74;
                    var_76 = var_74 + 3;
                    *var_75 = (double)((float)(var_53 >> 0x18 | (var_53 & 0xff0000) >> 8 |
                                                (var_53 & 0xff00) << 8 | var_53 << 0x18) / var_77);
                    var_53 = var_74[1];
                    var_75[1] = (double)((float)(var_53 >> 0x18 | (var_53 & 0xff0000) >> 8 |
                                                  (var_53 & 0xff00) << 8 | var_53 << 0x18) / var_77);
                    var_53 = var_74[2];
                    var_75[2] = (double)((float)(var_53 >> 0x18 | (var_53 & 0xff0000) >> 8 |
                                                  (var_53 & 0xff00) << 8 | var_53 << 0x18) / var_77);
                    var_75 = var_75 + 10;
                    var_74 = var_76;
                  } while (var_76 != var_72 + var_69 * 3);
                }
              }
              else {
                if (var_68 != 8) {
                  var_78(var_72);
                  var_17 = "ImageDepthNotSupported";
                  severity = CorruptImageError;
                  var_68 = 0x398;
                  goto LAB_0025b781;
                }
                if (0 < (int)var_69) {
                  var_75 = &pIVar6->colormap->red;
                  var_74 = var_72;
                  do {
                    var_76 = (type_7 *)((int)var_74 + 3);
                    *var_75 = (double)((float)(type_25)*var_74 * var_79);
                    var_75[1] = (double)((float)*(type_25 *)((int)var_74 + 1) * var_79);
                    var_75[2] = (double)((float)*(type_25 *)((int)var_74 + 2) * var_79);
                    var_75 = var_75 + 10;
                    var_74 = var_76;
                  } while ((type_7 *)(var_69 * 3 + (int)var_72) != var_76);
                }
              }
              var_78(var_72);
              goto LAB_0025ad8a;
            }
            var_78(var_72);
            var_17 = "InsufficientImageDataInFile";
            severity = CorruptImageError;
            var_68 = 0x390;
          }
          goto LAB_0025b781;
        }
LAB_0025ad8a:
        if (((var_2->ping != var_4) && (var_2->number_scenes != 0)) &&
           ((var_2->number_scenes + var_2->scene) - 1 <= pIVar6->scene)) {
          var_51(pIVar6);
          if (var_9 != var_4) goto LAB_0025b914;
          goto LAB_0025aeb9;
        }
        var_81 = var_80(WidthResource,(type_32)pIVar6->columns);
        if ((var_81 == var_4) ||
           (var_81 = var_80(HeightResource,(type_32)pIVar6->rows),
           var_81 == var_4)) {
          var_17 = "WidthOrHeightExceedsLimit";
          severity = ImageError;
          var_68 = 0x3db;
          goto LAB_0025b781;
        }
        var_81 = var_82(pIVar6,cache_filename,MagickTrue,&offset,var_6);
        if (var_81 == var_4) {
          var_83(pIVar6,pIVar6->columns,pIVar6->rows,var_6);
          var_17 = "UnableToPersistPixelCache";
          severity = CacheError;
          var_68 = 0x3e3;
          goto LAB_0025b781;
        }
        var_14 = var_84(pIVar6);
        if (var_14 != 0) {
          piVar33 = var_85();
          var_17 = var_86(*piVar33);
          var_50
                    (var_6,"coders/mpc.c","ReadMPCImage",1000,CorruptImageError,
                     "UnexpectedEndOfFile","\'%s\': %s");
          var_27(var_17);
          var_51(pIVar6);
LAB_0025b914:
          pIVar6 = var_87(pIVar6);
          goto LAB_0025b79c;
        }
        while (var_14 = var_13(pIVar6), -1 < (short)(*ppuVar8)[var_14]) {
          if (var_14 == -1) goto LAB_0025b908;
        }
        if (var_14 == -1) {
LAB_0025b908:
          var_51(pIVar6);
          goto LAB_0025b914;
        }
        var_88(var_2,pIVar6,var_6);
        var_90 = var_89(pIVar6);
        if (var_90 == (type_1 *)0x0) break;
        pIVar6 = var_91(pIVar6);
        var_58 = var_57(pIVar6);
        offset_00 = var_92(pIVar6);
        var_9 = var_93(pIVar6,"Load/Images",offset_00,var_58);
      } while (var_9 != var_4);
      var_51(pIVar6);
LAB_0025aeb9:
      pIVar6 = var_10(pIVar6);
    }
  }
LAB_0025b79c:
  if (var_94 == *(int *)(var_1 + 0x14)) {
    return pIVar6;
  }
                    /* WARNING: Subroutine does not return */
  var_95();
LAB_0025b6e0:
  *var_17 = '\0';
  var_38(pIVar6,"comment",var_24,var_6);
  var_27(var_24);
  var_14 = var_13(pIVar6);
LAB_0025ac68:
  puVar9 = *ppuVar8;
  var_28 = puVar9[var_14];
  if ((var_28 & 0x2000) == 0) goto LAB_0025ab3f;
  do {
    var_14 = var_13(pIVar6);
    puVar9 = *ppuVar8;
    var_28 = puVar9[var_14];
  } while ((var_28 & 0x2000) != 0);
  if (var_14 == 0x3a) goto LAB_0025aca4;
  goto LAB_0025ab48;
}


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

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

undefined4 MASKED(int param_1,int param_2)

{
  ushort uVar1;
  float fVar2;
  float fVar3;
  undefined *puVar4;
  int *piVar5;
  int iVar6;
  ushort **ppuVar7;
  ushort *puVar8;
  ulong uVar9;
  char *pcVar10;
  size_t sVar11;
  undefined1 *puVar12;
  uint uVar13;
  uint *puVar14;
  int iVar15;
  long lVar16;
  double *pdVar17;
  int *piVar18;
  undefined4 uVar19;
  int iVar20;
  uint *puVar21;
  uint uVar22;
  uint *puVar23;
  undefined4 *puVar24;
  undefined1 *puVar25;
  int in_GS_OFFSET;
  byte bVar26;
  longdouble lVar27;
  undefined8 uVar28;
  undefined8 uVar29;
  undefined4 uVar30;
  char *pcVar31;
  char *local_30ac;
  char *local_30a4;
  int local_3084;
  int local_3080;
  ulong local_3078;
  undefined4 local_3054;
  undefined4 local_3050;
  undefined8 local_304c;
  undefined8 uStack_3044;
  undefined1 local_3020 [4096];
  undefined1 local_2020 [4096];
  undefined1 local_1020 [4096];
  int local_20;
  undefined4 uStack_14;
  
  bVar26 = 0;
  uStack_14 = 0x25a9a9;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  if (param_1 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info != (const ImageInfo *) NULL","coders/mpc.c",0xc2,"ReadMPCImage");
  }
  if (*(int *)(param_1 + 0x31f4) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("image_info->signature == MagickCoreSignature","coders/mpc.c",0xc3,"ReadMPCImage")
    ;
  }
  if (*(int *)(param_1 + 0x31f0) != 0) {
    LogMagickEvent(0x8000,"coders/mpc.c","ReadMPCImage",0xc5,&DAT_002f75ae,param_1 + 0x21f0);
  }
  if (param_2 == 0) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception != (ExceptionInfo *) NULL","coders/mpc.c",199,"ReadMPCImage");
  }
  if (*(int *)(param_2 + 0x1c) != -0x54535255) {
                    /* WARNING: Subroutine does not return */
    __assert_fail("exception->signature == MagickCoreSignature","coders/mpc.c",200,"ReadMPCImage");
  }
  piVar5 = (int *)AcquireImage(param_1,param_2);
  local_3080 = OpenBlob(param_1,piVar5,2,param_2);
  if (local_3080 == 0) {
    DestroyImageList(piVar5);
    uVar19 = 0;
  }
  else {
    CopyMagickString(local_3020,piVar5 + 0xc6,0xffa);
    AppendImageFormat("cache",local_3020);
    iVar6 = ReadBlobByte(piVar5);
    if (iVar6 == -1) {
      DestroyImage(piVar5);
      uVar19 = 0;
    }
    else {
      local_2020[0] = 0;
      puVar24 = (undefined4 *)local_1020;
      for (iVar20 = 0x400; iVar20 != 0; iVar20 = iVar20 + -1) {
        *puVar24 = 0;
        puVar24 = puVar24 + (uint)bVar26 * -2 + 1;
      }
      local_3054 = 0;
      local_3050 = 0;
      ppuVar7 = __ctype_b_loc();
      puVar4 = PTR_RelinquishMagickMemory_0041dfd8;
      do {
        SetGeometryInfo(&local_304c);
        local_30a4 = (char *)AcquireString(0);
        local_3078 = GetMagickSignature(0);
        piVar5[8] = 8;
        puVar8 = *ppuVar7;
        piVar5[2] = 0x10;
        uVar1 = puVar8[iVar6];
        local_3084 = 0;
LAB_0025ab3f:
        if (iVar6 != 0x3a) {
LAB_0025ab48:
          pcVar31 = local_30a4;
          if (-1 < (short)uVar1) goto LAB_0025aca4;
          if (iVar6 == 0x7b) {
            pcVar31 = (char *)AcquireString(0);
            if (pcVar31 != (char *)0x0) {
              local_30ac = (char *)0x1000;
              pcVar10 = pcVar31;
              do {
                iVar6 = ReadBlobByte(piVar5);
                if (iVar6 == 0x5c) {
                  iVar6 = ReadBlobByte(piVar5);
                }
                else if ((iVar6 == -1) || (iVar6 == 0x7d)) goto LAB_0025b6e0;
                if (pcVar31 + (1 - (int)pcVar10) < local_30ac) {
                  *pcVar31 = (char)iVar6;
                  pcVar31 = pcVar31 + 1;
                }
                else {
                  local_30ac = (char *)((int)local_30ac * 2);
                  *pcVar31 = '\0';
                  pcVar10 = (char *)ResizeQuantumMemory(pcVar10,local_30ac + 0x1000,1);
                  if (pcVar10 == (char *)0x0) break;
                  sVar11 = strlen(pcVar10);
                  pcVar31 = pcVar10 + sVar11 + 1;
                  pcVar10[sVar11] = (char)iVar6;
                }
              } while( true );
            }
            DestroyString(local_30a4);
            pcVar31 = "MemoryAllocationFailed";
            uVar30 = 400;
            uVar19 = 0x10e;
            goto LAB_0025b781;
          }
          if ((uVar1 & 8) == 0) {
            iVar6 = ReadBlobByte(piVar5);
          }
          else {
            puVar24 = (undefined4 *)local_1020;
            if (iVar6 == 0x3d) {
              iVar20 = 0x7a;
            }
            else {
              do {
                if ((uint)((int)puVar24 - (int)local_1020) < 0xfff) {
                  *(char *)puVar24 = (char)iVar6;
                  puVar24 = (undefined4 *)((int)puVar24 + 1);
                }
                iVar6 = ReadBlobByte(piVar5);
                if (iVar6 == -1) {
                  iVar20 = -2;
                  puVar8 = *ppuVar7;
                  goto LAB_0025abb9;
                }
              } while (iVar6 != 0x3d);
              iVar20 = 0x7a;
              puVar8 = *ppuVar7;
            }
LAB_0025abb9:
            *(undefined1 *)puVar24 = 0;
            if ((*(ushort *)((int)puVar8 + iVar20) & 0x2000) != 0) {
              do {
                iVar6 = ReadBlobByte(piVar5);
              } while ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) != 0);
            }
            local_30ac = local_30a4;
            if (iVar6 == 0x3d) {
              iVar6 = ReadBlobByte(piVar5);
              local_30a4 = (char *)0xfff;
              local_30ac = pcVar31;
              do {
                if ((iVar6 == 0x7d) || (iVar6 == -1)) {
                  if (pcVar31 == (char *)0x0) {
LAB_0025b8e1:
                    pcVar31 = "MemoryAllocationFailed";
                    uVar30 = 400;
                    uVar19 = 0x14c;
                    goto LAB_0025b781;
                  }
                  break;
                }
                if (local_30a4 <= local_30ac + (1 - (int)pcVar31)) {
                  local_30a4 = (char *)((int)local_30a4 * 2);
                  *local_30ac = '\0';
                  pcVar31 = (char *)ResizeQuantumMemory(pcVar31,local_30a4 + 0x1000,1);
                  if (pcVar31 == (char *)0x0) goto LAB_0025b8e1;
                  sVar11 = strlen(pcVar31);
                  local_30ac = pcVar31 + sVar11;
                }
                *local_30ac = (char)iVar6;
                iVar6 = ReadBlobByte(piVar5);
                pcVar10 = local_30ac + 1;
                if ((iVar6 == 0x5c) && (iVar6 = ReadBlobByte(piVar5), iVar6 == 0x7d)) {
                  local_30ac[1] = '}';
                  iVar6 = ReadBlobByte(piVar5);
                  pcVar10 = local_30ac + 2;
                }
                local_30ac = pcVar10;
              } while ((*pcVar31 == '{') || ((*(byte *)((int)*ppuVar7 + iVar6 * 2 + 1) & 0x20) == 0)
                      );
            }
            local_30a4 = pcVar31;
            *local_30ac = '\0';
            if (*local_30a4 == '{') {
              sVar11 = strlen(local_30a4);
              CopyMagickString(local_30a4,local_30a4 + 1,sVar11);
            }
            switch(local_1020[0]) {
            case 0x41:
            case 0x61:
              iVar20 = LocaleCompare(local_1020,"alpha-trait");
              if (iVar20 != 0) goto LAB_0025b5d0;
              iVar20 = ParseCommandOption(0x3a,0,local_30a4);
              if (-1 < iVar20) {
                piVar5[0xa5] = iVar20;
              }
              break;
            case 0x42:
            case 0x62:
              iVar20 = LocaleCompare(local_1020,"background-color");
              if (iVar20 == 0) {
                piVar18 = piVar5 + 0x1f;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"blue-primary");
                if (iVar20 == 0) {
                  uVar22 = ParseGeometry(local_30a4,&local_304c);
                  *(undefined8 *)(piVar5 + 0x69) = local_304c;
                  if ((uVar22 & 8) == 0) {
                    *(undefined8 *)(piVar5 + 0x6b) = local_304c;
                  }
                  else {
                    *(undefined8 *)(piVar5 + 0x6b) = uStack_3044;
                  }
                  break;
                }
                iVar20 = LocaleCompare(local_1020,"border-color");
                if (iVar20 != 0) goto LAB_0025b5d0;
                piVar18 = piVar5 + 0x33;
              }
code_r0x0025b456:
              QueryColorCompliance(local_30a4,0x7fffffff,piVar18,param_2);
              break;
            case 0x43:
            case 99:
              iVar20 = LocaleCompare(local_1020,"class");
              if (iVar20 == 0) {
                iVar20 = ParseCommandOption(5,0,local_30a4);
                if (-1 < iVar20) {
                  *piVar5 = iVar20;
                }
              }
              else {
                iVar20 = LocaleCompare(local_1020,"colors");
                if (iVar20 == 0) {
                  uVar9 = strtoul(local_30a4,(char **)0x0,10);
                  piVar5[9] = uVar9;
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"colorspace");
                  if (iVar20 == 0) {
                    iVar20 = ParseCommandOption(9,0,local_30a4);
                    if (-1 < iVar20) {
                      piVar5[1] = iVar20;
                    }
                  }
                  else {
                    iVar20 = LocaleCompare(local_1020,"compression");
                    if (iVar20 == 0) {
                      iVar20 = ParseCommandOption(0xe,0,local_30a4);
                      if (-1 < iVar20) {
                        piVar5[2] = iVar20;
                      }
                    }
                    else {
                      iVar20 = LocaleCompare(local_1020,"columns");
                      if (iVar20 != 0) goto LAB_0025b5d0;
                      uVar9 = strtoul(local_30a4,(char **)0x0,10);
                      piVar5[6] = uVar9;
                    }
                  }
                }
              }
              break;
            case 0x44:
            case 100:
              iVar20 = LocaleCompare(local_1020,"delay");
              if (iVar20 == 0) {
                uVar9 = strtoul(local_30a4,(char **)0x0,10);
                piVar5[0x92] = uVar9;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"depth");
                if (iVar20 == 0) {
                  uVar9 = strtoul(local_30a4,(char **)0x0,10);
                  piVar5[8] = uVar9;
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"dispose");
                  if (iVar20 != 0) goto LAB_0025b5d0;
                  iVar20 = ParseCommandOption(0x15,0,local_30a4);
                  if (-1 < iVar20) {
                    piVar5[0x90] = iVar20;
                  }
                }
              }
              break;
            case 0x45:
            case 0x65:
              iVar20 = LocaleCompare(local_1020,"endian");
              if (iVar20 == 0) {
                iVar20 = ParseCommandOption(0x18,0,local_30a4);
                if (-1 < iVar20) {
                  piVar5[0x8d] = iVar20;
                }
              }
              else {
                iVar20 = LocaleCompare(local_1020,"error");
                if (iVar20 != 0) goto LAB_0025b5d0;
                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);
                *(double *)(piVar5 + 0xac) = (double)lVar27;
              }
              break;
            default:
LAB_0025b5d0:
              SetImageProperty(piVar5,local_1020,local_30a4,param_2);
              break;
            case 0x47:
            case 0x67:
              iVar20 = LocaleCompare(local_1020,"gamma");
              if (iVar20 == 0) {
                lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);
                *(double *)(piVar5 + 0x5b) = (double)lVar27;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"green-primary");
                if (iVar20 != 0) goto LAB_0025b5d0;
                uVar22 = ParseGeometry(local_30a4,&local_304c);
                *(undefined8 *)(piVar5 + 99) = local_304c;
                if ((uVar22 & 8) == 0) {
                  *(undefined8 *)(piVar5 + 0x65) = local_304c;
                }
                else {
                  *(undefined8 *)(piVar5 + 0x65) = uStack_3044;
                }
              }
              break;
            case 0x49:
            case 0x69:
              iVar20 = LocaleCompare(local_1020,"id");
              if (iVar20 == 0) {
                CopyMagickString(local_2020,local_30a4,0x1000);
              }
              else {
                iVar20 = LocaleCompare(local_1020,"iterations");
                if (iVar20 != 0) goto LAB_0025b5d0;
                uVar9 = strtoul(local_30a4,(char **)0x0,10);
                piVar5[0x95] = uVar9;
              }
              break;
            case 0x4d:
            case 0x6d:
              iVar20 = LocaleCompare(local_1020,"magick-signature");
              if (iVar20 == 0) {
                local_3078 = strtoul(local_30a4,(char **)0x0,10);
              }
              else {
                iVar20 = LocaleCompare(local_1020,"mattecolor");
                if (iVar20 == 0) {
                  piVar18 = piVar5 + 0xcd2;
                  goto code_r0x0025b456;
                }
                iVar20 = LocaleCompare(local_1020,"maximum-error");
                if (iVar20 == 0) {
                  lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);
                  *(double *)(piVar5 + 0xb0) = (double)lVar27;
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"mean-error");
                  if (iVar20 == 0) {
                    lVar27 = (longdouble)InterpretLocaleValue(local_30a4,0);
                    *(double *)(piVar5 + 0xae) = (double)lVar27;
                  }
                  else {
                    iVar20 = LocaleCompare(local_1020,"montage");
                    if (iVar20 != 0) goto LAB_0025b5d0;
                    CloneString(piVar5 + 0x78,local_30a4);
                  }
                }
              }
              break;
            case 0x4e:
            case 0x6e:
              iVar20 = LocaleCompare(local_1020,"number-channels");
              if (iVar20 == 0) {
                uVar9 = strtoul(local_30a4,(char **)0x0,10);
                piVar5[0xa6] = uVar9;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"number-meta-channels");
                if (iVar20 == 0) {
                  uVar9 = strtoul(local_30a4,(char **)0x0,10);
                  piVar5[0xa7] = uVar9;
                  if (0x40 < uVar9) {
                    if (local_3084 != 0) {
                      DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8,ppuVar7,
                                        ppuVar7);
                    }
                    DestroyString(local_30a4);
                    pcVar31 = "ImproperImageHeader";
                    uVar30 = 0x1a9;
                    uVar19 = 0x245;
                    goto LAB_0025b781;
                  }
                }
              }
              break;
            case 0x4f:
            case 0x6f:
              iVar20 = LocaleCompare(local_1020,"orientation");
              if (iVar20 != 0) goto LAB_0025b5d0;
              iVar20 = ParseCommandOption(0x36,0,local_30a4);
              if (-1 < iVar20) {
                piVar5[4] = iVar20;
              }
              break;
            case 0x50:
            case 0x70:
              iVar20 = LocaleCompare(local_1020,"page");
              if (iVar20 == 0) {
                uVar19 = GetPageGeometry(local_30a4);
                ParseAbsoluteGeometry(uVar19,piVar5 + 0x80);
                DestroyString(uVar19);
              }
              else {
                iVar20 = LocaleCompare(local_1020,"pixel-intensity");
                if (iVar20 == 0) {
                  iVar20 = ParseCommandOption(0x38,0,local_30a4);
                  if (-1 < iVar20) {
                    piVar5[0x8b] = iVar20;
                  }
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"profile");
                  if (iVar20 != 0) goto LAB_0025b5d0;
                  if (local_3084 == 0) {
                    local_3084 = NewLinkedList(0);
                  }
                  uVar19 = AcquireString(local_30a4);
                  AppendValueToLinkedList(local_3084,uVar19);
                }
              }
              break;
            case 0x51:
            case 0x71:
              iVar20 = LocaleCompare(local_1020,"quality");
              if (iVar20 != 0) goto LAB_0025b5d0;
              uVar9 = strtoul(local_30a4,(char **)0x0,10);
              piVar5[3] = uVar9;
              break;
            case 0x52:
            case 0x72:
              iVar20 = LocaleCompare(local_1020,"red-primary");
              if (iVar20 == 0) {
                uVar22 = ParseGeometry(local_30a4,&local_304c);
                *(undefined8 *)(piVar5 + 0x5d) = local_304c;
                if ((uVar22 & 8) != 0) {
                  *(undefined8 *)(piVar5 + 0x5f) = uStack_3044;
                }
              }
              else {
                iVar20 = LocaleCompare(local_1020,"rendering-intent");
                if (iVar20 == 0) {
                  iVar20 = ParseCommandOption(0x23,0,local_30a4);
                  if (-1 < iVar20) {
                    piVar5[0x75] = iVar20;
                  }
                }
                else {
                  iVar20 = LocaleCompare(local_1020,"resolution");
                  if (iVar20 == 0) {
                    uVar22 = ParseGeometry(local_30a4,&local_304c);
                    *(undefined8 *)(piVar5 + 0x7c) = local_304c;
                    if ((uVar22 & 8) == 0) {
                      *(undefined8 *)(piVar5 + 0x7e) = local_304c;
                    }
                    else {
                      *(undefined8 *)(piVar5 + 0x7e) = uStack_3044;
                    }
                  }
                  else {
                    iVar20 = LocaleCompare(local_1020,&UNK_003440a8);
                    if (iVar20 != 0) goto LAB_0025b5d0;
                    uVar9 = strtoul(local_30a4,(char **)0x0,10);
                    piVar5[7] = uVar9;
                  }
                }
              }
              break;
            case 0x53:
            case 0x73:
              iVar20 = LocaleCompare(local_1020,"scene");
              if (iVar20 != 0) goto LAB_0025b5d0;
              uVar9 = strtoul(local_30a4,(char **)0x0,10);
              piVar5[0x91] = uVar9;
              break;
            case 0x54:
            case 0x74:
              iVar20 = LocaleCompare(local_1020,"ticks-per-second");
              if (iVar20 == 0) {
                lVar16 = strtol(local_30a4,(char **)0x0,10);
                piVar5[0x94] = lVar16;
              }
              else {
                iVar20 = LocaleCompare(local_1020,"tile-offset");
                if (iVar20 == 0) {
                  uVar19 = GetPageGeometry(local_30a4);
                  ParseAbsoluteGeometry(uVar19,piVar5 + 0x9a);
                  DestroyString(uVar19);
                }
                iVar20 = LocaleCompare(local_1020,"type");
                if (iVar20 != 0) goto LAB_0025b5d0;
                iVar20 = ParseCommandOption(0x49,0,local_30a4);
                if (-1 < iVar20) {
                  piVar5[0x9e] = iVar20;
                }
              }
              break;
            case 0x55:
            case 0x75:
              iVar20 = LocaleCompare(local_1020,"units");
              if (iVar20 != 0) goto LAB_0025b5d0;
              iVar20 = ParseCommandOption(0x41,0,local_30a4);
              if (-1 < iVar20) {
                piVar5[0x77] = iVar20;
              }
              break;
            case 0x57:
            case 0x77:
              iVar20 = LocaleCompare(local_1020,"white-point");
              if (iVar20 != 0) goto LAB_0025b5d0;
              uVar22 = ParseGeometry(local_30a4,&local_304c);
              *(undefined8 *)(piVar5 + 0x6f) = local_304c;
              if ((uVar22 & 8) == 0) {
                *(undefined8 *)(piVar5 + 0x71) = local_304c;
              }
              else {
                *(undefined8 *)(piVar5 + 0x71) = uStack_3044;
              }
            }
          }
          goto LAB_0025ac68;
        }
LAB_0025aca4:
        DestroyString(local_30a4);
        ReadBlobByte(piVar5);
        iVar6 = LocaleCompare(local_2020,"MagickPixelCache");
        if (((((iVar6 != 0) || (*piVar5 == 0)) || (piVar5[2] == 0)) ||
            (((piVar5[6] == 0 || (piVar5[7] == 0)) ||
             ((0x40 < (uint)piVar5[0xa6] ||
              ((0x38 < (uint)piVar5[0xa7] || (0x3f < (uint)(piVar5[0xa6] + piVar5[0xa7]))))))))) ||
           (0x3f < piVar5[8] - 1U)) {
          if (local_3084 != 0) {
            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);
          }
          pcVar31 = "ImproperImageHeader";
          uVar30 = 0x1a9;
          uVar19 = 0x31d;
LAB_0025b781:
          ThrowMagickException
                    (param_2,"coders/mpc.c","ReadMPCImage",uVar19,uVar30,pcVar31,"`%s\'",
                     param_1 + 0x21f0);
          CloseBlob(piVar5);
          DestroyImageList(piVar5);
          uVar19 = 0;
          goto LAB_0025b79c;
        }
        uVar9 = GetMagickSignature(0);
        if (local_3078 != uVar9) {
          if (local_3084 != 0) {
            DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);
          }
          pcVar31 = "IncompatibleAPI";
          uVar30 = 0x1bd;
          uVar19 = 0x323;
          goto LAB_0025b781;
        }
        if (piVar5[0x78] != 0) {
          iVar6 = 0;
          puVar12 = (undefined1 *)AcquireString(0);
          piVar5[0x79] = (int)puVar12;
          local_30ac = (char *)0x1000;
          do {
            *puVar12 = 0;
            puVar25 = puVar12;
            if (local_30ac <= iVar6 + 0x1000U) {
              local_30ac = (char *)((int)local_30ac * 2);
              iVar20 = ResizeQuantumMemory(piVar5[0x79],(int)local_30ac + 0x1000,1);
              piVar5[0x79] = iVar20;
              if (iVar20 == 0) {
                if (local_3084 != 0) {
                  DestroyLinkedList(local_3084,PTR_RelinquishMagickMemory_0041dfd8);
                }
                pcVar31 = "UnableToReadImageData";
                uVar30 = 0x1a9;
                uVar19 = 0x341;
                goto LAB_0025b781;
              }
              puVar25 = (undefined1 *)(iVar20 + iVar6);
            }
            iVar20 = ReadBlobByte(piVar5);
            if (iVar20 == -1) break;
            puVar12 = puVar25 + 1;
            *puVar25 = (char)iVar20;
            iVar6 = iVar6 + 1;
          } while (iVar20 != 0);
        }
        if (local_3084 != 0) {
          ResetLinkedListIterator(local_3084);
          local_30ac = (char *)GetNextValueInLinkedList(local_3084);
          if (local_30ac != (char *)0x0) {
            while( true ) {
              uVar22 = ReadBlobMSBLong(piVar5);
              uVar28 = GetBlobSize(piVar5);
              if ((((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22)) ||
                 (iVar6 = AcquireStringInfo(uVar22), iVar6 == 0)) goto LAB_0025ba84;
              uVar19 = GetStringInfoDatum(iVar6);
              uVar13 = ReadBlob(piVar5,uVar22,uVar19);
              if (uVar22 != uVar13) break;
              local_3080 = SetImageProfile(piVar5,local_30ac,iVar6,param_2);
              DestroyStringInfo(iVar6);
              if ((local_3080 == 0) ||
                 (local_30ac = (char *)GetNextValueInLinkedList(local_3084),
                 local_30ac == (char *)0x0)) goto LAB_0025ba84;
            }
            DestroyStringInfo(iVar6);
          }
LAB_0025ba84:
          DestroyLinkedList(local_3084,puVar4);
        }
        iVar6 = GetImageQuantumDepth(piVar5,0);
        if (*piVar5 != 2) goto LAB_0025ad8a;
        uVar22 = (uint)(iVar6 * 3) >> 3;
        iVar20 = piVar5[9];
        uVar28 = GetBlobSize(piVar5);
        if (((int)((ulonglong)uVar28 >> 0x20) == 0) && ((uint)uVar28 < uVar22 * iVar20)) {
          pcVar31 = "InsufficientImageDataInFile";
          uVar30 = 0x1a9;
          uVar19 = 0x37d;
          goto LAB_0025b781;
        }
        iVar20 = AcquireQuantumMemory(piVar5[9] + 1,0x50);
        piVar5[10] = iVar20;
        if (iVar20 == 0) {
          pcVar31 = "MemoryAllocationFailed";
          uVar30 = 400;
          uVar19 = 0x381;
          goto LAB_0025b781;
        }
        if (piVar5[9] != 0) {
          puVar14 = (uint *)AcquireQuantumMemory(piVar5[9],uVar22);
          if (puVar14 == (uint *)0x0) {
            pcVar31 = "MemoryAllocationFailed";
            uVar30 = 400;
            uVar19 = 0x38a;
          }
          else {
            iVar15 = ReadBlob(piVar5,uVar22 * piVar5[9],puVar14);
            fVar3 = DAT_002e814c;
            fVar2 = DAT_002e8148;
            iVar20 = piVar5[9];
            if (uVar22 * iVar20 - iVar15 == 0) {
              if (iVar6 == 0x10) {
                if (0 < iVar20) {
                  pdVar17 = (double *)(piVar5[10] + 0x20);
                  puVar21 = puVar14;
                  do {
                    puVar23 = (uint *)((int)puVar21 + 6);
                    *pdVar17 = (double)(ushort)((ushort)*puVar21 << 8 | (ushort)*puVar21 >> 8);
                    pdVar17[1] = (double)(ushort)(*(ushort *)((int)puVar21 + 2) << 8 |
                                                 *(ushort *)((int)puVar21 + 2) >> 8);
                    pdVar17[2] = (double)(ushort)((ushort)puVar21[1] << 8 | (ushort)puVar21[1] >> 8)
                    ;
                    pdVar17 = pdVar17 + 10;
                    puVar21 = puVar23;
                  } while ((uint *)((int)puVar14 + iVar20 * 6) != puVar23);
                }
              }
              else if (iVar6 == 0x20) {
                if (0 < iVar20) {
                  pdVar17 = (double *)(piVar5[10] + 0x20);
                  puVar21 = puVar14;
                  do {
                    uVar22 = *puVar21;
                    puVar23 = puVar21 + 3;
                    *pdVar17 = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |
                                                (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);
                    uVar22 = puVar21[1];
                    pdVar17[1] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |
                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);
                    uVar22 = puVar21[2];
                    pdVar17[2] = (double)((float)(uVar22 >> 0x18 | (uVar22 & 0xff0000) >> 8 |
                                                  (uVar22 & 0xff00) << 8 | uVar22 << 0x18) / fVar2);
                    pdVar17 = pdVar17 + 10;
                    puVar21 = puVar23;
                  } while (puVar23 != puVar14 + iVar20 * 3);
                }
              }
              else {
                if (iVar6 != 8) {
                  RelinquishMagickMemory(puVar14);
                  pcVar31 = "ImageDepthNotSupported";
                  uVar30 = 0x1a9;
                  uVar19 = 0x398;
                  goto LAB_0025b781;
                }
                if (0 < iVar20) {
                  pdVar17 = (double *)(piVar5[10] + 0x20);
                  puVar21 = puVar14;
                  do {
                    puVar23 = (uint *)((int)puVar21 + 3);
                    *pdVar17 = (double)((float)(byte)*puVar21 * fVar3);
                    pdVar17[1] = (double)((float)*(byte *)((int)puVar21 + 1) * fVar3);
                    pdVar17[2] = (double)((float)*(byte *)((int)puVar21 + 2) * fVar3);
                    pdVar17 = pdVar17 + 10;
                    puVar21 = puVar23;
                  } while ((uint *)(iVar20 * 3 + (int)puVar14) != puVar23);
                }
              }
              RelinquishMagickMemory(puVar14);
              goto LAB_0025ad8a;
            }
            RelinquishMagickMemory(puVar14);
            pcVar31 = "InsufficientImageDataInFile";
            uVar30 = 0x1a9;
            uVar19 = 0x390;
          }
          goto LAB_0025b781;
        }
LAB_0025ad8a:
        if (((*(int *)(param_1 + 0x1bc) != 0) && (*(int *)(param_1 + 0x2c) != 0)) &&
           ((*(int *)(param_1 + 0x2c) + *(int *)(param_1 + 0x28)) - 1U <= (uint)piVar5[0x91])) {
          CloseBlob(piVar5);
          if (local_3080 != 0) goto LAB_0025b914;
          goto LAB_0025aeb9;
        }
        iVar6 = AcquireMagickResource(10,piVar5[6],0);
        if ((iVar6 == 0) || (iVar6 = AcquireMagickResource(4,piVar5[7],0), iVar6 == 0)) {
          pcVar31 = "WidthOrHeightExceedsLimit";
          uVar30 = 0x1d1;
          uVar19 = 0x3db;
          goto LAB_0025b781;
        }
        iVar6 = PersistPixelCache(piVar5,local_3020,1,&local_3054,param_2);
        if (iVar6 == 0) {
          SetImageExtent(piVar5,piVar5[6],piVar5[7],param_2);
          pcVar31 = "UnableToPersistPixelCache";
          uVar30 = 0x1bd;
          uVar19 = 0x3e3;
          goto LAB_0025b781;
        }
        iVar6 = EOFBlob(piVar5);
        if (iVar6 != 0) {
          piVar18 = __errno_location();
          uVar19 = GetExceptionMessage(*piVar18);
          ThrowMagickException
                    (param_2,"coders/mpc.c","ReadMPCImage",1000,0x1a9,"UnexpectedEndOfFile",
                     "\'%s\': %s",piVar5 + 0xc6,uVar19);
          DestroyString(uVar19);
          CloseBlob(piVar5);
LAB_0025b914:
          uVar19 = GetFirstImageInList(piVar5);
          goto LAB_0025b79c;
        }
        while (iVar6 = ReadBlobByte(piVar5), -1 < (short)(*ppuVar7)[iVar6]) {
          if (iVar6 == -1) goto LAB_0025b908;
        }
        if (iVar6 == -1) {
LAB_0025b908:
          CloseBlob(piVar5);
          goto LAB_0025b914;
        }
        AcquireNextImage(param_1,piVar5,param_2);
        iVar20 = GetNextImageInList(piVar5);
        if (iVar20 == 0) break;
        piVar5 = (int *)SyncNextImageInList(piVar5);
        uVar28 = GetBlobSize(piVar5);
        uVar29 = TellBlob(piVar5);
        local_3080 = SetImageProgress(piVar5,"Load/Images",uVar29,uVar28);
      } while (local_3080 != 0);
      CloseBlob(piVar5);
LAB_0025aeb9:
      uVar19 = DestroyImageList(piVar5);
    }
  }
LAB_0025b79c:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return uVar19;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002decd0();
LAB_0025b6e0:
  *pcVar31 = '\0';
  SetImageProperty(piVar5,"comment",pcVar10,param_2);
  DestroyString(pcVar10);
  iVar6 = ReadBlobByte(piVar5);
LAB_0025ac68:
  puVar8 = *ppuVar7;
  uVar1 = puVar8[iVar6];
  if ((uVar1 & 0x2000) == 0) goto LAB_0025ab3f;
  do {
    iVar6 = ReadBlobByte(piVar5);
    puVar8 = *ppuVar7;
    uVar1 = puVar8[iVar6];
  } while ((uVar1 & 0x2000) != 0);
  if (iVar6 == 0x3a) goto LAB_0025aca4;
  goto LAB_0025ab48;
}

